IX Wiosenny Turniej
w Programowaniu Zespołowym
Politechnika Poznańska, 11.06.2005

Zadanie H - Enigpat

Opis

Zły władca Patentolandii planuje zmasowany atak w celu podporządkowania sobie wolnej Bajtocji. Na szczęście bajtockiemu wywiadowi udało się dojść do kanału przez który przesyłane są wszystkie tajne rozkazy wydawane odziałom Patentolandii, dzięki czemu istnieje szansa ocalenia Bajtocji. Okazało się jednak, że wszystkie wiadomości są kodowane nieznanym wcześniej szyfrem. Na szczęście grupie kryptologów udało się w porę go złamać - stwierdzono, że do zdekodowania pojedynczej wiadomości potrzebna jest pewna liczba-klucz D.

Odkryto, że Patentolandczycy wyznaczają ją z pewnego ciągu c1..N w następujący sposób:
D = dN
gdzie
d1 = c1
di = (48271di-1 + ci) mod 232   dla i=2..N

Kryptolodzy ustalili, że stosowany ciąg c1..N jest w rzeczywistości najmniejszą leksykograficznie permutacją liczb 1..N spełniającą warunek aicibi, gdzie a1..N i b1..N obliczane są w następujący sposób:
a1 = 1
ai = ai-1 + (P2i-2 mod (i-ai-1+1))  dla i=2..N
bi = ai + (P2i-1 mod (N-ai+1)       dla i=1..N
gdzie
Pi+1 = (kPi + l) mod m

W przypadku, gdy nie istnieje permutacja spełniająca powyższe warunki, Patentolandczycy używają jako klucza D liczby 666.

Tobie, jako nadwornemu programiście, zostało przydzielone zadanie polegające na napisaniu programu wyznaczającego niezbędne klucze. Pamiętaj, że od Twojego programu zależy przyszłość Bajtocji...

Wejście

W pierwszej linii wejścia znajduje się jedna dodatnia liczba całkowita oznaczająca liczbę wiadomości do deszyfracji.

W pierwszej i jedynej linii opisującej pojedynczą wiadomość znajduje się pięć liczb całkowitych (N, P1, k, l oraz m) spełniających następujące ograniczenia:
1 ≤ N ≤ 500000
0 ≤ P1, k, l < 232
1 ≤ m < 232

Wyjście

Dla każdej wiadomości należy wypisać dokładnie jedną linię zawierającą klucz D służący do jej deszyfracji.

Przykładowe wejście

1
3 0 1 1 10

Przykładowe wyjście

2330185986