Kida vă oferă două numere și . Ea vă mai oferă și un șir , de numere naturale cuprinse între și inclusiv. Șirul conține două tipuri de valori: valori cuprinse între și , care nu pot fi schimbate, respectiv valori de , care pot fi înlocuite cu orice număr cuprins între și .
Pentru un șir cu valori între și , vom nota cu numărul de perechi de pe pozițiile și astfel încât și .
Cerință
Se cere suma pentru toate șirurile distincte care se pot obține din șirul , înlocuind toate valorile de cu numere cuprinse între și . Deoarece acest număr poate să fie foarte mare, se cere restul împărțirii sale la .
Date de intrare
Pe prima linie din fișierul de intrare se află două numere și , iar pe a doua linie valorile din șirul , separate prin câte un spațiu.
Date de ieșire
Pe singura linie din fișierul de ieșire se află numărul , reprezentând restul împărțirii la a sumei valorilor pentru toate șirurile care se pot obține din șirul .
Restricții
- , pentru orice de la la .
# | Punctaj | Restricții |
---|---|---|
1 | 13 | |
2 | 8 | |
3 | 21 | Șirul nu conține nicio valoare de . |
4 | 23 | Șirul conține doar valori de . |
5 | 17 | |
6 | 18 | Nu există alte restricții |
Exemple
countall.in
3 4
2 0 3
countall.out
9
Șirurile care se pot obține sunt:
, pentru care valoarea este ;
, pentru care valoarea este ;
, pentru care valoarea este ;
, pentru care valoarea este ;
Suma valorilor este .
countall.in
3 2
0 0 2
countall.out
7
Șirurile care se pot obține sunt:
, pentru care valoarea este ;
, pentru care valoarea este ;
, pentru care valoarea este ;
, pentru care valoarea este ;
Suma valorilor este .