Олимпиадный тренинг

Задача . C. Мемори и деволюция


Мемори изучает деволюцию различных объектов, в данный момент треугольников. Она начинает с равностороннего треугольника со сторонами, равными x, и хочет выполнить несколько операций так, чтобы получить равносторонний треугольник со сторонами y.

За одну секунду Мемори может изменить длину ровно одной стороны текущего треугольника так, чтобы он оставался невырожденным треугольником (то есть треугольником ненулевой площади). В любой момент времени все стороны треугольника должны иметь целочисленную длину.

За какое минимальное количество секунд Мемори сможет получить равносторонний треугольник с длиной стороны y?

Входные данные

В единственной строке входных данных записаны два целых числа x и y (3 ≤ y < x ≤ 100 000) — изначальная и желаемая длина всех сторон треугольника соответственно.

Выходные данные

Выведите одно целое число — минимальное количество секунд, которое потребуется Мемори, чтобы получить равносторонний треугольник со стороной y, если она начинает с равностороннего треугольника со стороной x.

Примечание

В первом примере Мемори начинает с равностороннего треугольника со стороной 6 и хочет получить равносторонний треугольник со стороной 3. Обозначим треугольник со сторонами a, b и c как (a, b, c). Мемори может выполнить следующие преобразования: .

Во втором примере Мемори может проделать такие изменения: .

В третьем примере возможным ответом является .


Примеры
Входные данныеВыходные данные
1 6 3
4
2 8 5
3
3 22 4
6

time 2000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя