Давайте поиграем. Пусть у нас есть начальное число s0 и две последовательности a1,a2,...,an, b1,b2,...,bn. Вам нужно как можно быстрее преобразовать s0 в 0. На каждом шаге вы можете выбрать индекс i и применить следующую операцию к текущему числу:
sj+1=(sj⋅ai+bi)modm
Таким образом вы получите новое число. Нужно найти минимальное количество таких операций, чтобы из s0 перейти к 0.
Входные данные
Первая строка содержит три целых числа n, m и s0 (0 ≤ n ≤ 10, 0 ≤ m ≤ 100 000 и 0 < s0 < m).
Каждая из следующих n строк содержит пару целых чисел ai,bi (0 ≤ ai, bi ≤ 109).
Выходные данные
Программа должна вывести минимальное количество операций, чтобы из s0 получить 0. Если получить 0 невозможно, нужно вывести Impossible.