Adriana a învățat la școală probleme de umplere a unei suprafețe. Problema de astăzi constă în umplerea unui dreptunghi cu lungimea de cm și lățimea de cm cu ajutorul pătratelor care au latura de cm și a pătratelor care au latura de cm.
Adriana a reușit destul de ușor să rezolve problema, dar și-a dat seama că problema are mai multe soluții și este curioasă să afle în câte moduri distincte se poate umple dreptunghiul cu lungimea de cm și lățimea de cm, având la dispoziție pătrate cu latura de cm și pătrate cu latura de cm.
Cerință
Ajutați-o pe Adriana să determine numărul de moduri distincte de umplere a dreptunghiului din enunț. Deoarece acest număr poate fi foarte mare, este suficient să aflați restul împărțirii acestui număr la .
Date de intrare
Fișierul de intrare patrate.in
conține pe prima linie un număr natural .
Date de ieșire
În fișierul de ieșire patrate.out
se va scrie un singur număr natural, care reprezintă numărul de posibilități de umplere a dreptunghiului specificat în enunț, modulo .
Restricții și precizări
- ;
- Pentru din teste, ;
- Pentru din teste, ;
- Testele nu sunt cele din timpul concursului.
Exemplul 1
patrate.in
3
patrate.out
5
Explicație
Exemplul 2
patrate.in
85
patrate.out
928344252