McMartin

Time limit: 1s Memory limit: 256MB Input: Output:

Ai, dai, n-ai. Ia nu da, să vezi cum ai.


Într-un viitor nu foarte îndepărtat, orașul era asediat de restaurante fast-food, iar McDonald's devenise un imperiu culinar de neoprit. Însă, în umbră, un erou necunoscut se ridica împotriva acestui gigant – Piedone, un agent de elită al FNCSA.

Cerință

Se dă un șir aa de nn locații McDonald's, aia_i reprezentând numărul de angajați din restaurantul ii, și un număr kk.

Piedone numește o pereche (i,j)(i, j) martin dacă i<ji < j și (ai+aj)p=i+1j1ap(modk)(a_i + a_j) \equiv \sum_{p=i+1}^{j-1} a_p \pmod{k}.

Dându-se qq query-uri de tipul (l,r)(l, r), să se determine pentru fiecare câte perechi martin există astfel încât li<jrl \leq i < j \leq r.

Date de intrare

Pe prima linie se găsesc două numere întregi, nn și kk.

Pe următoarea linie se află nn numere, separate prin câte un spațiu, reprezentând a1,a2,,ana_1, a_2, \dots , a_n.

Pe a treia linie se află un număr qq, reprezentând numărul de query-uri.

Pe următoarele qq linii se află câte 2 numere ll și rr, reprezentând subsecvența din query.

Date de ieșire

Pe primele qq linii se vor afla câte un număr, reprezentând răspunsul la fiecare query.

Restricții și precizări

  • 1n,k,q2×1051 \leq n, k, q \leq 2 \times 10^5;
  • 1ai1091 \leq a_i \leq 10^9
  • 1l<rn1 \leq l < r \leq n
# Punctaj Restricții
0 0 Exemplele
1 10 1n,q5001 \leq n, q \leq 500
2 40 1k501 \leq k \leq 50
3 50 Fără alte restricții

Exemplul 1

stdin

7 4
8 2 4 3 1 3 2
3
1 7
2 3
3 7

stdout

5
0
3

Log in or sign up to be able to send submissions!