Cerința
Șirul Fibonacci este definit după regula:- F1=1
- F2=1
- Fn=Fn–1+Fn–2
Comisia mafioților îl supune pe Giovanni la T
teste. Pentru fiecare test se dau n
și apoi n
numere naturale pos1,pos2,…,posn reprezentând poziții în șirul Fibonacci. Se cere să se găsească cel mai mare număr g
care divide Fpos1,Fpos2,…,Fposn. Comisia a înțeles că Giovanni nu poate reține numere mari, așa că îi cere să afișeze restul împărțirii lui g
la numărul p
. Fiind depășit de cerință, mafiotul are opțiunea să sune publicul și vă contactează pe voi. Ajutați-l pe Giovanni să-și mențină demnitatea și el vă va răsplăti cu un punctaj pe măsură.
Date de intrare
Fișierul de intrare giovanacci.in
conține pe prima linie numerele T
și p
, iar pe următoarele T
linii n
, urmat de n
numere naturale.
Date de ieșire
Fișierul de ieșire giovanacci.out
va conține cele T
răspunsuri, câte unul pe linie.
Restricții și precizări
- 1≤T≤103
- 2≤p≤105
- 1≤n≤103
- 1≤posi≤1017
Exemplu:
giovanacci.in
2 2 3 6 9 12 2 5 10
giovanacci.out
0 1
Explicație
Sunt 2
teste. Pentru primul test, 2
este cel mai mare număr care divide 8
, 34
, 144
. Pentru al doilea test, 5
este cel mai mare număr care divide 5
și 55
. Răspunsurile s-au afișat modulo 2
.