Time limit: 0.4s
Memory limit: 64MB
Input: dorel.in
Output: dorel.out
Dorel, elev în clasa a X-a, a început recent să experimenteze cu algoritmi de plasare a bile identice în cutii! El a încercat să analizeze în câte moduri poate plasa cele bile în cele cutii alese astfel încât pentru o constantă aleasă algoritmul scris de el pe hârtie să nu ruleze la infinit. Algoritmul lui poate fi găsit scris în pseudocod mai jos:
poz ← 1
sum ← 0
cât timp poz <= c:
cât timp sum != k:
sum ← sum + nrbile[poz] + 1
poz ← poz + 1
sum ← 0
Cerință
Pentru bile, cutii și o constantă , determinați în câte moduri putem plasa bilele în cutii în așa fel încât algoritmul prezentat mai sus nu rulează la infinit. Cum acest numar poate fi foarte mare, Dorel va roaga sa aflati restul impartirii lui la
Date de intrare
Pe prima linie a fișierului de intrare dorel.in
se găsește numărul , care prezintă numărul de teste. Apoi, pe următoarele linii se vor afla câte 3 numere și cu semnificația de mai sus. Testele din input sunt independente unul față de celălalt.
Date de ieșire
În fișierul dorel.out
se vor afișa numere pe câte o linie separată fiecare, unde pe linia din output se va afla răspunsul la al -lea test modulo .
Restricții și precizări
- Conform regulamentului OJI, teste vor fi evaluate individual, deci nu este necesară trecerea tuturor testelor pentru primirea punctajului pe subtaskul aferent.
# | Punctaj | Restricții |
---|---|---|
1 | 20 | |
2 | 20 | |
3 | 5 | |
4 | 10 | |
5 | 10 | |
6 | 35 | Fără restricții suplimentare. |
Exemplul 1
dorel.in
6
3 3 3
1 5 6
10 10 10
5 8 1
10 2 4
961 423 346
dorel.out
4
5
43758
0
0
434187092
Explicație
Pentru cazul avem următoarele configurații valabile posibile:
Pentru cazul avem următoarele configurații valabile posibile: