Corsa

Time limit: 0.75s Memory limit: 128MB Input: corsa.in Output: corsa.out

Te-ai decis să ieși la o plimbare cu Opelozaurul pe un traseu care conține la fiecare kilometru un indicator cu numerele naturale din intervalul [1,n][1, n], în ordine crescătoare. Îți începi traseul în dreptul indicatorului cu numărul 11 și îl termini la indicatorul cu numărul nn.

În mod normal, reușești să parcurgi orice kilometru cu mașina în 100100 de secunde, dar, înainte să începi cursa, drumul a fost afectat de precipitații.

Prima data a fost afectat de ninsori, fiecare ninsoare fiind descrisă printr-un triplet, L,RL, R și kk, care arată că ninsoarea a afectat drumul în intervalul delimitat de indicatoarele LL și RR, iar acum, în acel interval, numărul de secunde în care reușești să parcurgi un kilometru crește cu kk, indiferent de valoarea lui precedentă.

După ninsori, drumul este afectat de ploi, care sunt descrise și ele prin triplete L,R,kL, R, k și limitează timpul în care mașina poate să parcurgă un kilometru în intervalul delimitat de indicatoarele LL și RR la kk secunde.

Se dau qq numere întregi pp din intervalul [1,n][1, n], iar pentru fiecare trebuie să determini numărul de secunde necesare să ajungi în dreptul panoului pp.

Date de intrare

Prima linie va conține numărul natural nn. Pe cea de a doua linie se citesc numerele s,r,qs, r, q - numărul de ninsori, ploi, respectiv numărul de întrebări. Următoarele ss linii vor conține câte un triplet, reprezentând ninsorile, apoi, următoarele rr linii vor conține câte un triplet reprezentând ploile, iar ultimele qq linii vor conține numerele naturale pp.

Date de ieșire

Se vor afișa pp linii, fiecare linie conținând răspunsul la o întrebare.

Restricții și precizări

  • L<RL < R
  • 2N10102 \leq N \leq 10^{10}
  • s,r,q,k105s, r, q, k \leq 10^5
# Puncte Restricții
1 5 N,s,r,q,k500N, s, r, q, k \leq 500
2 5 nu există ploi și N1010N \leq 10^{10}
3 10 nu există ninsori și N,s,r,q,k105N, s, r, q, k \leq 10^5
4 10 nu există ninsori și N1010N \leq 10^{10}
5 20 N106N \leq 10^{6}
6 50 Fără restricții suplimentare

Exemplul 1

corsa.in

10
1 2 2
3 6 15
5 8 110
7 10 107
5
9

corsa.out

430
872

Explicație

După ninsoare, vitezele pentru fiecare segment sunt:
100 100 115 115 115 100 100 100 100100 \ 100 \ 115 \ 115 \ 115 \ 100 \ 100 \ 100 \ 100
După prima ploaie, vitezele pentru fiecare segment sunt:
100 100 115 115 115 110 110 100 100100 \ 100 \ 115 \ 115 \ 115 \ 110 \ 110 \ 100 \ 100
Apoi, după ultima ploaie, vitezele pe segmente sunt:
100 100 115 115 115 110 110 107 107100 \ 100 \ 115 \ 115 \ 115 \ 110 \ 110 \ 107 \ 107
Primul număr reprezintă viteza pe segmentul 121-2, al doilea număr reprezintă viteza pe segmentul 232-3 și așa mai departe.

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