Cerință
Se dau , și apoi numere naturale. Se cunoaște că suma acestor numere este . Să se determine câte permutări de lungime există cu proprietatea că acestea au exact cicli, iar lungimile acestor cicli sunt exact numerele date.
Un ciclu se definește ca un subset al permutării în care elementele schimbǎ locurile unele cu altele. Exemplu: , permutarea conține cicli și .
Date de intrare
Pe prima linie a fișierului de intrare lencycles.in
se găsesc două numere întregi, și .
Pe a doua linie se află cele numere reprezentând lungimile ciclilor.
Date de ieșire
Fișierul de ieșire lencycles.out
va conține un singur număr întreg reprezentând numărul de permutări cerut, modulo .
Restricții și precizări
- Pentru teste in valoare de 18 de puncte, 1;
- Pentru alte teste in valoare de 42 de puncte, 1 și se garantează că lungimile ciclilor vor fi numere distincte;
- Pentru alte teste in valoare de 21 de puncte, 1 și se garantează că lungimile ciclilor vor fi numere distincte;
- Pentru alte teste in valoare de 19 de puncte, 1;
Exemplu
lencycles.in
3 2
1 2
lencycles.out
3
Explicație
Avem de determinat câte permutări de lungime au cicli, unul de lungime și unul de lungime .
Sunt în total permutări de lungime . Dintre acestea, doar permutările , și au exact cicli, unul de lungime și unul de lungime .