Das Rest-Spiel

Lass uns ein Spiel spielen. Gegeben ist eine Anfangszahl s0s_0 sowie zwei Sequenzen a1,a2,...,ana_1, a_2, ..., a_n und b1,b2,...,bnb_1, b_2, ..., b_n. Das Ziel ist, so schnell wie möglich von s0s_0 auf 0 zu gelangen. In jedem Schritt darfst du einen Index i wählen und die folgende Operation auf die aktuelle Zahl anwenden:

sj+1=(sj⋅ai+bi)mod  ms_{j+1} = (s_j \cdot a_i + b_i) \mod m

Auf diese Weise erhältst du die nächste Zahl. Du sollst die minimale Anzahl von Operationen bestimmen, um von s0s_0 auf 0 zu kommen.

Eingabe

Die erste Zeile der Eingabe enthält 3 ganze Zahlen n, m und s0s_0 (0 ≤ n ≤ 10, 0 ≤ m ≤ 100 000 und 0 < s0s_0 < m).

Die nächsten n Zeilen enthalten jeweils ein Paar von ganzen Zahlen aia_i und bib_i (0 ≤ aia_i, bib_i ≤ 10910^9).

Ausgabe

Das Programm soll die minimale Anzahl an Operationen ausgeben, um von s0s_0 auf 0 zu gelangen. Ist es unmöglich, 0 zu erreichen, soll das Programm Impossible ausgeben.

Beispiele

Eingabe

Ausgabe

2 5 1
3 1
2 1

2

Constraints

Time limit: 1.6 seconds

Memory limit: 512 MB

Output limit: 1 MB