Codeforces Round 218 (Div. 2) |
---|
Закончено |
Два жадных медвежонка нашли в лесу два куска сыра массами a и b грамм, соответственно. Медвежата настолько жадные, что готовы набить друг другу шишек за право обладания куском побольше. Подскакивает к ним лисица и говорит: «Погодите, медвежата, я могу помочь вам уравнять куски!» «Да ладно, как же ты это сделаешь?», — поинтересовались медвежата. «Очень просто — сказала лисица. — Если масса какого-то куска делится на два, то я могу откусить от него ровно половину и съесть. Если масса какого-то куска делится на три, то я могу откусить от него ровно две трети, а если масса делится на пять — то могу откусить и съесть четыре пятых. Вот немного пооткусываю, и уравняю куски».
Медвежата догадываются, что в предложении лисицы содержится какой-то подвох. Но в то же время они понимают, что самостоятельно не смогут сделать два куска одинаковыми. Поэтому медвежата согласились на ее предложение, но с одним условием: лисица должна уравнять куски как можно быстрее. Найдите минимальное количество описанных операций, которое потребуется лисице, чтобы уравнять куски.
В первой строке записаны два целых числа a и b, разделенные пробелом (1 ≤ a, b ≤ 109).
В том случае, если лисица обманывает медвежат и никаким образом не сможет уравнять куски, то выведите -1. Иначе выведите искомое наименьшее количество операций. В случае, если куски сыра изначально равны, искомое количество равно 0.
15 20
3
14 8
-1
6 6
0
Название |
---|