Se consideră numerele naturale nenule N și D urmate de o secvență S de N numere naturale nenule ordonate crescător, indexate de la 1 la N.
Să se determine numărul de cvintete de indici (i1,i2,i3,i4,i5) ce verifică relațiile:
- a⋅b⋅c=D
- a⋅x2+b⋅y2=c2
- a<b<c
- x=y
unde am notat cu a=S[i1], b=S[i2], c=S[i3], x=S[i4], y=S[i5].
Rezultatul se va afișa modulo 109+7.
Date de intrare
Fișierul de intrare cvintete.in conține pe prima linie două numere naturale nenule N și D cu semnificația din enunț.
Pe următoarea linie se vor afla N numere naturale nenule ordonate crescător.
Date de ieșire
Fișierul de ieșire cvintete.out va conține un singur număr natural care reprezintă rezultatul cerinței, modulo 109+7.
Restricții și precizări
| # |
Punctaj |
Restricții |
| 1 |
16 |
1≤N≤201≤S[i]≤201≤D≤250 |
| 2 |
12 |
1≤N≤10001≤S[i]≤10001≤D≤105 |
| 3 |
25 |
1≤N≤50001≤D≤107S[i]=i, pentru orice 1≤i≤N |
| 4 |
28 |
1≤N≤100001≤S[i]≤50001≤D≤107 |
| 5 |
19 |
1≤N≤1000001≤S[i]≤200001≤D≤109 |
- Pentru toate subtask-urile, se respectă relația S[i]≤S[i+1], oricare ar fi 1≤i≤N−1.
Exemplul 1
cvintete.in
4 6
1 2 3 3
cvintete.out
2
Explicație
Pentru primul exemplu, cvintetele care respectă cerința sunt (1,2,3,1,2) și (1,2,4,1,2).
Exemplul 2
cvintete.in
10 60
1 2 3 4 4 5 6 8 10 12
cvintete.out
4
Explicație
Pentru al doilea exemplu, cvintetele care respectă cerința sunt (1,6,10,8,4), (1,6,10,8,5), (1,7,9,2,4) și (1,7,9,2,5).