Avem un șir de numere. Cu toții știm că o subsecvenţă a şirului are forma: cu .
Scorul unei subsecvențe este dat de suma elementelor din acea secvență.
O K-Supersecvență este o secvență formată din subsecvențe adiacente ale șirului inițial. Scorul unei astfel de K-Supersecvențe este dat de suma scorurilor subsecvențelor din care aceasta este alcătuită.
De execmplu, pentru șirul , avem următoarele 2-Supersecvențe:
- (de scor 3)
- (de scor 6)
- (de scor 6)
- (de scor 5)
Două K-Supersecvențe se consideră distincte dacă diferă prin cel puțin una din subsecvențele din care sunt alcătuite.
Având un șir de numere, un număr și un număr , trebuie să determinați câte K-Supersecvențe distincte cu scorul există în șir. Cum această cerință ar fi prea ușoară, fiecare dintre aceste K-Supersecvențe trebuie să fie formată doar din subsecvențe de lungime mai mare sau egală decât un număr dat.
Date de intrare
Fișierul de intrare va conține pe prima linie un număr întreg , reprezentând numărul de elemente din șir.
A doua linie conține șirul de numere.
A treia linie conține două numere, și , care au semnificația din enunț.
Date de ieșire
Fișierul de ieșire va conține pe prima linie un singur număr întreg, reprezentând numărul de K-Supersecvențe distincte cu scorul care există în șirul dat, fiind alcătuite din subsecvențe de minim elemente, modulo .
Restricții
Punctare
- Pentru teste în valoare de puncte, și .
- Pentru alte teste în valoare de puncte, și .
- Pentru alte teste în valoare de puncte, și .
- Pentru alte teste în valoare de puncte, și .
- Pentru alte teste în valoare de puncte, .
- Pentru alte teste în valoare de de puncte, nu există restricții suplimentare.
Exemplul 1
supersecv.in
5
1 1 1 2 1
2 3 1
supersecv.out
4
Exemplul 2
supersecv.in
5
1 2 3 2 1
2 8 1
supersecv.out
6
Exemplul 3
supersecv.in
5
1 2 3 2 1
2 8 2
supersecv.out
2
Explicații
În primul exemplu, supersecvențele posibile sunt:
În al doilea exemplu, supersecvențele posibile sunt:
În al treilea exemplu, supersecvențele posibile sunt: