Задача B. Бендер

Автор:Жюри ВКОШП 2010   Ограничение времени:10 сек
Входной файл:bender.in   Ограничение памяти:256 Мб
Выходной файл:bender.out  

Условие

Робот Бендер решил открыть аттракцион "Кручу-Верчу" с целью своего обогащения. Аттракцион состоит в следующем: Бендер прячет шарик под одним из k одинаковых стаканчиков, расположенных на позициях от 1 до k, затем n раз быстро меняет местами какие-то пары стаканчиков, после чего предлагает отгадать под каким из стаканчиков сейчас шарик.

Бендер — робот, поэтому действует он по определенной программе. Бендер строит последовательность целых чисел xi, при этом x1 = c, а xi = a ⋅ xi − 1 + b для i > 1.

На i-ом шаге Бендер меняет местами стаканчики на позициях с номерами (xi mod k) + 1 и ((xi + 1mod k) + 1.

В начале робот прячет шарик под стаканчик на позиции с номером r. Бендер хочет, чтобы после n обменов шарик оказался под стаканчиком на позиции с номером l.

Найдите такие a, b и c, чтобы стаканчик с шариком переместился с r-й позиции на l-ю.

Формат входного файла

В единственной строке входного файла четыре целых числа n, k, r и l (1 ≤ n ≤ 105; 2 ≤ k ≤ 10; 1 ≤ r, l ≤ k).

Формат выходного файла

Если таких чисел не существует, выведите в выходной файл единственное слово "Impossible". В противном случае выведите три целых неотрицательных числа a, b и c. Числа не должны превосходить 1000.

Примеры тестов

Входной файл (bender.in) Выходной файл (bender.out)
1
2 3 1 2
0 0 1
2
3 4 2 4
2 0 1
3
10 2 1 2
Impossible

0.097s 0.018s 13