Siclam

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

„Ce-i mai bun chiar decît ciorba?
Doar kebabul și shaorma”

După o noapte furtunoasă în clubul „La Regele”, Țil și Rose se îndreaptă spre Siclam să mănânce. Din păcate, după ce a aflat că în acea seară nu se mai servește meniul Cristi, Rose a decis că cea mai bună opțiune este un șnițăl cât roata la tractor. Cum Țil este școlit la universități înalte ale lumii, el cere NN șnițăle cât roata la tractor. Cum roțile la tractor nu sunt neapărat egale mereu, șnițălele pot avea diametre diferite. Cum Rose trebuie să-l hrănească și pe Lion, el va mânca din două în două șnițăle, iar Țil va mânca din trei în trei șnițăle. Povestea continuă printr-o noapte plină de peripeții. Pentru a nu vă plictisi cu detaliile, o să trecem la subiect.

Se dă un șir a1,,aNa_1, \dots , a_N format din numere nenegative. Pe acest șir se va desfășura un joc între doi jucători, să îi numim TT și RR, unde TT mută primul și jucătorii mută alternativ. Fiecare jucător are câte un pion plasat la o poziție din șirul aa, cele două poziții fiind distincte. La o mutare, TT își poate muta pionul de la poziția ii la una din pozițiile i±2i ± 2, iar RR de la poziția ii la una din pozițiile i±3i ± 3. Jucătorii pot alege, de asemenea, să nu își mute pionul la o mutare, astfel sărindu-și tura. O poziție 1iN1 ≤ i ≤ N se consideră capturată de un jucător dacă pionul jucătorului a fost la un moment în joc pe poziția ii. O mutare a unui jucător este validă doar dacă poziția pe care ajunge pionul rămâne în intervalul [1,N][1, N] și nu a fost deja capturată de celălalt jucător. Jocul se termină după ce s-au efectuat, în total, 1010010^{100} mutări.

La finalul jocului, scorul unui jucător este suma valorilor asociate pozițiile capturate de el. Câștigă jucătorul cu scorul cel mai mare, iar în caz de egalitate câștigă RR. Vom presupune că ambii jucători joacă optim, adică dacă au o strategie care le garantează câștigul atunci o vor pune în aplicare.

Cerință

Se dau QQ interogări de forma (l,r)(l , r). Pentru fiecare interogare să se calculeze numărul de perechi (i,j)(i, j) cu iji ≠ j există astfel încât li,jrl ≤ i, j ≤ r și ar câștiga TT dacă pionul său ar începe la poziția ii și pionul lui RR ar începe la poziția jj. Atenție: se consideră atât i<ji < j cât și i>ji > j.

Date de intrare

Pe prima linie a intrării se află numărul întreg NN. Pe a doua linie a intrării se află NN numere nenegative a1,,aNa_1, \dots , a_N reprezentând tabla de joc. Pe a treia linie a intrării se află numărul întreg QQ. Pe următoarele QQ linii regăsim câte doi întregi l,rl, r reprezentând datele unei interogări.

Date de ieșire

Ieșirea va conține QQ linii, fiecare conținând răspunsul la câte o interogare, în ordinea de la intrare.

Restricții și precizări

  • 3N500 0003 \leq N \leq 500 \ 000
  • 1Q500 0001 \leq Q \leq 500 \ 000
  • 0vi1 000 000 0000 ≤ v_i ≤ 1 \ 000 \ 000 \ 000 pentru 1iN1 ≤ i ≤ N
# Punctaj Restricții
1 17 1N3001 \leq N \leq 300
2 12 1N5 0001 \leq N \leq 5 \ 000
3 33 1Q1001 \leq Q \leq 100
4 10 1Q100 0001 \leq Q \leq 100 \ 000
5 28 Fără restricții suplimentare.

Exemple

stdin

7
1 2 3 4 5 6 7
4
1 7
1 5
2 3
4 7

stdout

27
12
1
8

Explicație

Pentru a treia interogare avem l=2,r=3l = 2, r = 3. În acest caz, TT câstigă dacă pionul său începe la poziția 33 și pionul lui RR începe la
poziția 22.

Pentru a patra interogare avem l=4,r=7l = 4, r = 7. În acest caz, TT câstigă dacă pozițiile inițiale ale pionilor (t,c)(t, c) fac parte din mulțimea {(4,5),(5,4),(4,7),(7,4),(5,6),(6,5),(6,7),(7,6)}\{(4, 5), (5, 4), (4, 7), (7, 4), (5, 6), (6, 5), (6, 7), (7, 6)\}.

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