E. Number Clicker
ограничение по времени на тест
5 секунд
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Аллен играет в Number Clicker на телефоне.

Он начинает с целого числа $$$u$$$ на экране. Каждую секунду он нажимает одну из трех кнопок:

  1. Изменить $$$u \to u+1 \pmod{p}$$$.
  2. Изменить $$$u \to u+p-1 \pmod{p}$$$.
  3. Изменить $$$u \to u^{p-2} \pmod{p}$$$.

Аллен хочет нажать на кнопки не более 200 раз так, чтобы получить на экране число $$$v$$$. Помогите ему!

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

Первая строка содержит три целых числа: $$$u, v, p$$$ ($$$0 \le u, v \le p-1$$$, $$$3 \le p \le 10^9 + 9$$$). Гарантируется, что $$$p$$$ — простое.

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

В первой строке выведите одно целое число $$$\ell$$$ — количество нажатий кнопок. Во второй строке выведите целые числа $$$c_1, \dots, c_\ell$$$ — кнопки, которые должен нажать Аллен. Для всех $$$1 \le i \le \ell$$$ должно выполняться $$$1 \le c_i \le 3$$$.

Можно показать, что ответ всегда существует.

Примеры
Входные данные
1 3 5
Выходные данные
2
1 1
Входные данные
3 2 5
Выходные данные
1
3
Примечание

В первом примере число на экране меняется следующим образом: $$$1 \to 2 \to 3$$$.

Во втором примере число на экране меняется следующим образом: $$$3 \to 2$$$.