Time limit: 1s
Memory limit: 512MB
Input:
Output:
Lui M29 îi plac jocurile cu subsecvențe. Pentru o secvență dată, M29 îi calculează frumusețea.
Fie subsecvența . Notăm frumusețea cu .
Calculăm frumusețea adunând elementele care au în secvență un divizor (diferit de propria poziție) și scăzându-le pe cele care nu au:
Unde sumele sunt definite după indici ( și ):
M29 și-a dat seama că nu poate calcula răspunsul pentru atât de multe subsecvențe, astfel că vă pune pe voi să o faceți.
Cerință
Se dă un șir cu elemente indexate de la .
De asemenea, se dau întrebări. Pentru fiecare întrebare, primiți două numere și și trebuie să calculați frumusețea subsecvenței .
Date de intrare
Se citesc de la tastatură:
- Pe prima linie numerele și .
- Pe următoarea linie numere, elementele șirului .
- Pe următoarele linii, două valori și .
Date de ieșire
Se vor afișa linii. Pe linia se va afișa răspunsul pentru întrebarea .
Restricții și precizări
| # | Punctaj | Restricții |
|---|---|---|
| 1 | 12 | |
| 2 | 10 | |
| 3 | 21 | |
| 4 | 19 | |
| 5 | 15 | |
| 6 | 23 | Fără alte restricții |
Exemplu
stdin
7 6
1 2 3 4 10 12 12
1 3
2 2
5 6
1 7
2 5
6 7
stdout
4
-2
-22
42
9
24
Explicație
- Pentru primul query (subsecvența 1, 2, 3): Se adună 2 și 3 (pentru că ambele îl au pe 1 ca divizor) și se scade 1. Răspunsul este .
- Pentru al cincilea query: Se scad 2 și 3 și se adaugă 4 și 10 (îl au ca divizor pe 2).
- Pentru al șaselea query: Se adaugă 12 și 12 ( îl are ca divizor pe , iar îl are ca divizor pe ).