Ionuț s-a înscris recent într-o trupă de cercetași și se pregătește pentru prima sa expediție. Trupa din care face parte Ionuț este formată din membri, numerotați cu numere naturale de la la . Pentru expediție, trupa trebuie să se împartă în mai multe patrule, fiecare membru trebuie să facă parte din exact o patrulă. Între cercetașii din trupă există niște tensiuni, astfel cercetașul și cercetașul (cu ) pot face parte din aceeași patrulă doar dacă (unde reprezintă valoarea absolută a numărului ).
Cerințe
Ionuț, fiind foarte pasionat de numere, se întreabă în câte moduri se pot forma patrule pentru expediție, știind că cercetașul șef vrea ca trupa să se împartă în cel puțin patrule și cel mult patrule. Două moduri și de a forma patrulele se consideră diferite dacă au un număr diferit de patrule sau dacă există un cercetaș (cu ) astfel încât echipa din care face parte în modul este diferită de cea din modul . Cum acest număr poate fi foarte mare, se cere afișarea lui modulo .
Date de intrare
Fișierul de intrare cercetasi.in conține o singură linie pe care se află, în ordine, numerele , , și cu semnificația din enunț. Numerele sunt separate prin câte un spațiu.
Date de ieșire
Fișierul de ieșire cercetasi.out va conține, pe o singură linie numărul de moduri în care se pot forma patrulele pentru expediție, modulo .
Restricții și precizări
| # | Punctaj | Restricții |
|---|---|---|
| 1 | 4 | , , |
| 2 | 6 | |
| 3 | 8 | , |
| 4 | 6 | , |
| 5 | 7 | , |
| 6 | 9 | |
| 7 | 5 | , |
| 8 | 6 | |
| 9 | 10 | , , |
| 10 | 13 | , |
| 11 | 5 | sau |
| 12 | 21 | Fără restricții suplimentare |
Exemplul 1
cercetasi.in
4 1 2 2
cercetasi.out
7
Explicație
În primul exemplu avem cercetași, oricare doi putând face parte din aceeași patrulă, deoarece . Cum trebuie să aflăm numărul de moduri de a împărți cercetașii în două patrule. Avem următoarele 7 moduri:
; ; ; ; ; ; .
Exemplul 2
cercetasi.in
5 2 2 3
cercetasi.out
8
Explicație
În al doilea exemplu avem cercetași, oricare doi alăturați neputând face parte din aceeași patrulă, deoarece . Avem și , deci trebuie să aflăm numărul de moduri de a împărți cercetașii în două sau trei patrule.
Pentru a împărți cercetașii în două patrule avem o posibilitate:
.
Observăm aici că o împărțire de forma nu este posibilă deoarece și fac parte din aceeași patrulă, dar .
Trebuie acum să aflăm numărul de moduri de a împărți cercetașii în trei patrule. Avem 7 posibilități:
; ; ; ; ;
; .
Astfel, sunt în total posibilități.
Exemplul 3
cercetasi.in
97 3 8 29
cercetasi.out
987428607