Sejf
Limit pamięci: 32 MB
Bajtosmok posiada sejf, do którego zawartości dostępu broni zamek
składający się z szyfratorów. Każdy szyfrator jest po prostu
pokrętłem, które można ustawić w jednej z pozycji. Sejf otwiera się,
gdy wszystkie szyfratory zostają ustawione w odpowiedniej pozycji.
Bajtosmok dawno nie używał sejfu, przez co zapomniał konfigurację, która
otwiera sejf. Udał się zatem do firmy produkującej sejfy, gdzie
dowiedział się, jak działa zamek. Otóż składa się on z
szyfratorów i takiej samej liczby blokad - wszystkie one, zarówno szyfratory,
jak i blokady, mogą być ustawione w jednej z pozycji numerowanych
od do . Zamek otwiera się w momencie, gdy wszystkie blokady
ustawione są w pozycji . Przekręcenie -tego szyfratora o jedną
pozycję (z pozycji na , z pozycji na , ..., z na ,
z na ) powoduje, że -ta blokada przekręca się o
pozycji (z pozycji na pozycję ). W celu
umożliwienia rozszyfrowania kombinacji otwierającej sejf, Bajtosmok
otrzymał również nowoczesny skaner trójwymiarowy,
który umożliwia mu sprawdzenie w jakiej
konfiguracji znajdują się ukryte wewnątrz mechanizmu sejfu blokady.
Jako że sejfy, których używa Bajtosmok, są zawsze pierwszej klasy, można
założyć, że istnieje dokładnie jedna kombinacja otwierająca sejf.
Zadanie
Napisz program, który:
- wczyta ze standardowego wejścia opis konstrukcji zamka w sejfie,
- wyznaczy ustawienie szyfratorów, przy którym zamek jest otwarty,
- wypisze wynik na standardowe wyjście.
Wejście
Pierwszy wiersz zawiera dwie liczby całkowite - liczbę szyfratorów i blokad
() oraz liczbę pierwszą - liczbę pozycji, w których
mogą znajdować się szyfratory i blokady ().
Kolejny wiersz zawiera liczb całkowitych z zakresu od do
- pozycje, w których są ustawione kolejne szyfratory. Kolejny wiersz
zawiera również liczb całkowitych od do - pozycje,
w których ustawione są blokady w zamku Bajtosmoka. Następnych wierszy
zawiera opisy poszczególnych szyfratorów - -ty z tych wierszy
zawiera dokładnie liczb całkowitych - kolejne liczby ,
, ..., , .
Wyjście
W pierwszym i jedynym wierszu wyjścia Twój program powienien wypisać
liczb całkowitych z przedziału do , oddzielonych pojedynczymi
odstępami - pozycje kolejnych szyfratorów, dla których zamek jest otwarty.
Przykład
Dla danych wejściowych:
2 3
1 1
2 2
1 0
0 1
poprawną odpowiedzią jest:
2 2
Autor zadania: Piotr Stańczyk.