Alibaba trebuie să descopere cifrul care deschide cufărul cu comoara cea mare. Cifrul este foarte greu de găsit. El a descoperit mai multe pietre, fiecare piatră având o altă culoare, pe fiecare piatră fiind scris un număr natural cu cel mult cifre. Alibaba observă că numerele de pe fiecare piatră sunt distincte două câte două. Regula după care se formează cifrul este una foarte simplă, şi Alibaba a reuşit să o obţină destul de uşor: cifrul este format din alăturarea într-o anumită ordine a tuturor pietrelor. Ceea ce Alibaba mai ştie este că pe poziţia din cifru se găseşte cu siguranţă cifra .
Cerinţă
Scrieţi un program care determină numărul de variante de cifruri pe care va trebui să le încerce Alibaba. Numărul fiind foarte mare se va calcula modulo .
Date de intrare
Fişierul de intrare cifru.in
conţine pe prima linie trei numere naturale , şi separate printr-un spaţiu, reprezentând numărul total de numere de pe pergament, poziţia şi respectiv cifra care se găseşte pe poziţia în cifru. Pe următoarele linii se găseşte câte unul din cele numere de pe pergament.
Date de ieşire
Pe prima linie a fişierului de ieşire cifru.out
se vor scrie un număr natural reprezentând numărul de variante modulo de cifruri pe care va trebui să le încerce Alibaba.
Restricții si precizări:
- Numerele de pe fiecare piatră sunt strict pozitive mai mici decât şi sunt distincte două câte două.
- Două cifruri diferă între ele prin ordinea de aşezare a pietrelor, chiar dacă numărul obţinut prin citirea numerelor de pe pietre este aceeaşi. De exemplu dacă există trei pietre având inscripţionate numerele , şi respectiv , ele se pot lipi astfel: , cele două cifruri considerându-se diferite, cifrele având culori diferite.
Exemplu
cifru.in
7 6 2
12
56
3
214
523
6
2
cifru.out
1548