Time limit: 0.05s
Memory limit: 64MB
Input: crescator.in
Output: crescator.out
Fie un șir de numere îıntregi. Trebuie construit un nou șir (tot cu elemente) astfel:
- dacă , atunci
- dacă , atunci poate avea orice valoare strict pozitivă
- dacă , atunci poate avea orice valoare strict pozitivă cu excepția lui
Se garantează că și au valori strict pozitive și între oricare două valori strict pozitive se va afla cel mult una strict negativă.
Cerință
Știindu-se șirul , să se calculeze numărul de moduri de a forma șirul astfel încât acesta să fie crescător (nu neapărat strict). Deoarece acest număr poate fi foarte mare, se va afișa doar restul împărțirii la .
Date de intrare
Fișierul de intrare crescator.in
conține pe prima linie un număr natural și pe cea de-a doua numere întregi separate prin câte un spațiu.
Date de ieșire
Fișierul de ieșire crescator.out
conține pe singura sa linie numărul cerut modulo .
Restricții și precizări
- Pentru de puncte, și .
- Pentru alte de puncte, .
Exemplu
crescator.in
6
1 0 3 0 -4 5
crescator.out
12
Explicație
Cele șiruri crescătoare sunt: , , , , , , , , , , , .