XOR Фибоначчи
ограничение по времени на тест
6 секунд
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Долгожданное возвращение «Четырёх всадников»! Атлас, Джек Уайлдер и остальные мастера обмана готовят новый невероятный трюк. На этот раз цель – не обогнать полицию, а обмануть математическую реальность.

На столе у героев лежат два числа $$$n$$$ и $$$m$$$. Их задача – собрать из чисел Фибоначчи $$$F_0, F_1, F_2, \dots$$$ последовательность $$$F_{a_1}, F_{a_2}, \dots, F_{a_k}$$$ ($$$a_1 \leq a_2 \leq \dots \leq a_k$$$), которая должна быть одновременно частью двух трюков

- Трюк Атласа: $$$F_{a_1} \oplus F_{a_2} \oplus \dots \oplus F_{a_k} = n$$$
- Трюк Джейка: $$$F_{a_1} + F_{a_2} + \dots + F_{a_k} = m$$$

Здесь $$$F_0 = 1, F_1 = 1, F_i = F_{i-1} + F_{i-2}$$$ — последовательность Фибоначчи, их секретное оружие. Обратите внимание, что числа в выбранной последовательности не обязаны быть различными — то есть, можно брать одно число Фибоначчи несколько раз.

Ваша миссия — найти минимальное число элементов $$$k$$$, которое позволит всадникам показать этот фокус публике. Если это невозможно — значит, план сорвался, и фокус не удался.

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

В первой строке записаны два целых числа $$$n,m$$$ ($$$1 \leq n, m \leq 10^{12}$$$).

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

Выведите одно целое число: $$$k$$$, если последовательность, описанная в условии, существует, и $$$-1$$$ иначе.

Примеры

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

    3 3

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

    1

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

    13 19

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

    3