G. Необычный калькулятор
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

На кружке электроники студенты разработали необычный калькулятор. Он отображает на экране не одно число, а сразу два, и поддерживает три вида команд:

  1. из (m, n) получить (m - n, n)
  2. из (m, n) получить (m + n, n)
  3. из (m, n) получить (n, m)

Определите последовательность команд, чтобы получить из пары чисел (a, b) пару (c, d).

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

В первой строке записаны целые числа a и b, во второй строке — целые числа c и d ($$$-10^5 \le a, b, c, d \le 10^5$$$, $$$a \ne c$$$ или $$$b \ne d$$$).

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

Выведите одну строку, состоящую только из цифр 1, 2 и 3 без пробелов — номера команд. От вас не требуется, чтобы количество команд было минимальным, но оно не должно превышать $$$10^6$$$. В ходе вычислений не должны получаться числа больше $$$10^{18}$$$ по модулю.

Если решения нет, выведите "IMPOSSIBLE" (без кавычек, все буквы большие).

Примеры
Входные данные
-3 5
3 2
Выходные данные
231
Входные данные
3 6
2 3
Выходные данные
IMPOSSIBLE