e-olymp
Задачи

Задача 3n + 1

Задача 3n + 1

Рассмотрим следующий алгоритм генерации последовательности чисел:

1. input n
2. print n
3. if n = 1 then STOP
4. if n is odd then n = 3 * n + 1
5. else n = n / 2
6. GOTO 2

Например, для n = 22 будет сгенерирована следующая последовательность чисел:

22 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1

Полагают (но это еще не доказано), что этот алгоритм сойдется к n = 1 для любого целого n. По крайней мере, это предположение верно для всех целых n, для которых 0 < n < 1,000,000.

Длиной цикла числа n будем называть количество сгенерированных чисел в последовательности включая 1. В приведенном примере длина цикла числа 22 равна 16.

Для двух заданных чисел i и j необходимо найти максимальную длину цикла среди всех чисел между i и j включительно.

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

Каждый тест задается в отдельной строке и содержит пару целых чисел i и j. Входные числа будут меньше 1000000 и больше 0. Считайте, что для вычислений достаточно использовать 32 битный целочисленный тип.

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

Для каждой пары чисел i и j выведите числа i и j в том же порядке, в каком они поступили на вход. После чего выведите максимальную длину цикла среди всех целых чисел между i и j включительно. Для каждого теста три числа следует выводить в отдельной строке, разделяя одним пробелом.

Лимит времени 1 секунда
Лимит использования памяти 128 MiB
Входные данные #1
1 10
100 200
201 210
900 1000
Выходные данные #1
1 10 20
100 200 125
201 210 89
900 1000 174