Macarie și-a propus ca în vacanță să facă cumpărături. În țara în care el locuiește, există P bancnote cu valorile B1≤B2≤⋯≤BP, toate acestea fiind numere prime. Macarie vrea să viziteze N magazine, iar el a asociat fiecărui magazin i valoarea Vi. Folosind aceste valori, se poate calcula calitatea unui produs cumpărat de la magazinul i cu bancnota j ca fiind indicele numărului prim Bj în lista sortată crescător a factorilor primi ai numărului Vi. Dacă Bj nu divide Vi, calitatea este 0 (magazinul nu vinde produse la acest preț).
Acum Macarie se întreabă "Dacă aș lua la mine bancotele cu indicii bl,bl+1,…,br și aș vizita magazinele l,l+1,…,r, cumpărând câte un produs folosind fiecare bancnotă de la fiecare magazin, care este suma calităților produselor pe care le-aș cumpăra?".
Cerință
Se dau valorile celor P bancnote din țara lui Macarie și valorile asociate celor N magazine pe care acesta propune să le viziteze. Determinați, pentru Q întrebări de tipul (l,r,bl,br), care este suma calităților produselor pe care le-ar cumpăra Macarie dacă ar cumpăra câte un produs cu bancnota j de la magazinul i, pentru fiecare bl≤j≤br și l≤i≤r.
Date de intrare
Pe prima linie a fișierului de intrare calitate.in se vor găsi numerele întregi P,N,Q, cu semnificațiile din enunț. Pe a doua linie se vor găsi P numere prime B1≤B2≤⋯≤BP sortate în ordine crescătoare, valorile bancnotelor din țara lui Macarie. Pe a treia linie se vor găsi N numere întregi V1,V2,…,VN, valorile celor N magazine pe care acesta le va vizita. Pe a patra linie se vor găsi numerele l1,r1,bl1,br1, reprezentând prima întrebare pusă de Macarie, și pe următoarele 4 linii se găsesc, grupate câte 2, numerele Xl,Yl,Xr,Yr,Xbl,Ybl,Xbr,Ybr.
Atenție! Din cauza numărului mare de query-uri, acestea se vor genera după următoarele formule de recurență:
- ri+1=1+(Xr⋅ri+Yr) % N
- li+1=1+(Xl⋅li+Yl) % ri+1
- bri+1=1+(Xbr⋅bri+Ybr) % P
- bli+1=1+(Xbl⋅bli+Ybl) % bri+1
Date de ieșire
Fișierul de ieșire calitate.out va conține o linie pe care se vor găsi Q numere întregi, al i-lea reprezentând răspunsul la a i-a întrebare a lui Macarie.
Restricții și precizări
- 1≤P≤100;
- 1≤N≤100 000;
- 1≤Q≤1 000 000;
- 1≤Bj,Vi≤1 000 000 pentru orice 1≤j≤P și orice 1≤i≤N;
- 1≤l1≤r1≤N și 1≤bl1≤br1≤P;
- 1≤Xl,Yl,Xr,Yr,Xbl,Ybl,Xbr,Ybr≤1 000 000;
- Se garantează că numerele B1,B2,…,BP sunt prime și sortate în ordine crescătoare.
Subtask-uri și punctare
| Subtask |
Punctaj |
Restricții suplimentare |
| 1 |
5 |
P=1 și N,Q≤1 000 |
| 2 |
5 |
N,Q≤1 000 |
| 3 |
10 |
Vi este prim pentru orice 1≤i≤N |
| 4 |
20 |
P≤10 |
| 5 |
20 |
Vi≤100 000 pentru orice 1≤i≤N |
| 6 |
40 |
Fără restricții suplimentare |
Exemplul 1
calitate.in
4 6 4
2 3 5 7
8 15 49 35 30 70
1 6 1 1
1 1
2 5
6 3
3 4
calitate.out
3 14 2 17
Explicație
Listele factorilor primi ale valorilor magazinelor sunt:
- 8−2
- 15−3,5
- 49−7
- 35−5,7
- 30−2,3,5
- 70−2,5,7
Întrebările generate, împreună cu răspunsurile lor, sunt:
| Întrebare |
Răspuns |
| (1,6,1,1) |
1+0+0+0+1+1=3 |
| (3,6,2,4) |
1+(1+2)+(2+3)+(2+3)=14 |
| (5,6,1,1) |
1+1=2 |
| (1,6,2,4) |
0+(1+2)+1+(1+2)+(2+3)+(2+3)=17 |