Calitate

Time limit: 0.3s Memory limit: 128MB Input: calitate.in Output: calitate.out

Macarie\text{Macarie} și-a propus ca în vacanță să facă cumpărături. În țara în care el locuiește, există PP bancnote cu valorile B1B2BPB_1\leq B_2\leq\dots\leq B_P, toate acestea fiind numere prime. Macarie\text{Macarie} vrea să viziteze NN magazine, iar el a asociat fiecărui magazin ii valoarea ViV_i. Folosind aceste valori, se poate calcula calitatea unui produs cumpărat de la magazinul ii cu bancnota jj ca fiind indicele numărului prim BjB_j în lista sortată crescător a factorilor primi ai numărului ViV_i. Dacă BjB_j nu divide ViV_i, calitatea este 00 (magazinul nu vinde produse la acest preț).
Acum Macarie\text{Macarie} se întreabă "Dacă aș lua la mine bancotele cu indicii bl,bl+1,,brbl, bl+1,\dots , br și aș vizita magazinele l,l+1,,rl, l+1,\dots , 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 PP bancnote din țara lui Macarie\text{Macarie} și valorile asociate celor NN magazine pe care acesta propune să le viziteze. Determinați, pentru QQ întrebări de tipul (l,r,bl,br)(l, r, bl, br), care este suma calităților produselor pe care le-ar cumpăra Macarie\text{Macarie} dacă ar cumpăra câte un produs cu bancnota jj de la magazinul ii, pentru fiecare bljbrbl\leq j\leq br și lirl\leq i\leq r.

Date de intrare

Pe prima linie a fișierului de intrare calitate.in se vor găsi numerele întregi P,N,QP, N, Q, cu semnificațiile din enunț. Pe a doua linie se vor găsi PP numere prime B1B2BPB_1\leq B_2\leq\dots\leq B_P sortate în ordine crescătoare, valorile bancnotelor din țara lui Macarie\text{Macarie}. Pe a treia linie se vor găsi NN numere întregi V1,V2,,VNV_1, V_2,\dots , V_N, valorile celor NN magazine pe care acesta le va vizita. Pe a patra linie se vor găsi numerele l1,r1,bl1,br1l_1, r_1, bl_1, br_1, reprezentând prima întrebare pusă de Macarie\text{Macarie}, și pe următoarele 44 linii se găsesc, grupate câte 22, numerele Xl,Yl,Xr,Yr,Xbl,Ybl,Xbr,YbrX_l, Y_l, X_r, Y_r, X_{bl}, Y_{bl}, X_{br}, Y_{br}.

Atenție!\textbf{Atenție!} Din cauza numărului mare de query-uri, acestea se vor genera după următoarele formule de recurență:

  • ri+1=1+(Xrri+Yr) % Nr_{i+1}=1+(X_r\cdot r_i + Y_r) \ \%\ N
  • li+1=1+(Xlli+Yl) % ri+1l_{i+1}=1+(X_l\cdot l_i + Y_l) \ \%\ r_{i+1}
  • bri+1=1+(Xbrbri+Ybr) % Pbr_{i+1}=1+(X_{br}\cdot br_i + Y_{br}) \ \%\ P
  • bli+1=1+(Xblbli+Ybl) % bri+1bl_{i+1}=1+(X_{bl}\cdot bl_i + Y_{bl}) \ \%\ br_{i+1}

Date de ieșire

Fișierul de ieșire calitate.out va conține o linie pe care se vor găsi QQ numere întregi, al ii-lea reprezentând răspunsul la a ii-a întrebare a lui Macarie\text{Macarie}.

Restricții și precizări

  • 1P1001\leq P\leq 100;
  • 1N100 0001\leq N\leq 100\ 000;
  • 1Q1 000 0001\leq Q\leq 1\ 000\ 000;
  • 1Bj,Vi1 000 0001\leq B_j, V_i\leq 1\ 000\ 000 pentru orice 1jP1\leq j\leq P și orice 1iN1\leq i\leq N;
  • 1l1r1N1\leq l_1\leq r_1\leq N și 1bl1br1P1\leq bl_1\leq br_1\leq P;
  • 1Xl,Yl,Xr,Yr,Xbl,Ybl,Xbr,Ybr1 000 0001\leq X_l, Y_l, X_r, Y_r, X_{bl}, Y_{bl}, X_{br}, Y_{br}\leq 1\ 000\ 000;
  • Se garantează că numerele B1,B2,,BPB_1, B_2,\dots , B_P sunt prime și sortate în ordine crescătoare.

Subtask-uri și punctare

Subtask Punctaj Restricții suplimentare
1 5 P=1P=1 și N,Q1 000N, Q\leq 1\ 000
2 5 N,Q1 000N, Q\leq 1\ 000
3 10 ViV_i este prim pentru orice 1iN1\leq i\leq N
4 20 P10P\leq 10
5 20 Vi100 000V_i\leq 100\ 000 pentru orice 1iN1\leq i\leq 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:

  • 828 - 2
  • 153,515 - 3, 5
  • 49749 - 7
  • 355,735 - 5, 7
  • 302,3,530 - 2, 3, 5
  • 702,5,770 - 2, 5, 7

Întrebările generate, împreună cu răspunsurile lor, sunt:

Întrebare Răspuns
(1,6,1,1)(1, 6, 1, 1) 1+0+0+0+1+1=31+0+0+0+1+1=3
(3,6,2,4)(3, 6, 2, 4) 1+(1+2)+(2+3)+(2+3)=141+(1+2)+(2+3)+(2+3)=14
(5,6,1,1)(5, 6, 1, 1) 1+1=21+1=2
(1,6,2,4)(1, 6, 2, 4) 0+(1+2)+1+(1+2)+(2+3)+(2+3)=170+(1+2)+1+(1+2)+(2+3)+(2+3)=17

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