Felix

Time limit: 0.4s Memory limit: 32MB Input: felix.in Output: felix.out

La intrarea unui mic ștrand dintr-o stațiune de băi termale, cu o jumătate de oră înaintea deschiderii, s-a format o coadă de NN oameni, indexați începând cu 1.
Datorită timpului îndelungat de așteptare, la fața locului s-au adunat MM distribuitori de pliante cu reclame. Fiecare distribuitor are un singur interval [l,r][l, r] pe care acționează, oferind câte un pliant fiecărei persoane cu indicele ii, unde lirl \leq i \leq r.
Definim gradul de irascibilitate al unei persoane ca fiind numărul de pliante pe care le primește. Urmărind să detensioneze situația, directorul vine și îi pune QQ întrebări lui Felix, programatorul companiei. Pentru fiecare întrebare, el îi dă lui Felix un număr xx și vrea să afle care este cel mai mare grad de irascibilitate (îl vom nota cu gg) al unei persoane, astfel încât să existe minim xx persoane cu grad de irascibilitate mai mare decât gg.
Se dau NN, MM, cele MM intervale de forma [l,r][l, r] și cele QQ query-uri, fiecare cu câte o valoare xx. Pentru fiecare query, se cere să se afle cel mai mare numar gg, reprezentând gradul de irascibilitate al unei persoane din șir, astfel încat să existe minim xx persoane cu grad de irascibilitate mai mare decât gg.

Date de intrare

Fișierul de intrare felix.in va conține pe prima linie două numere NN și MM, NN reprezentând numărul de persoane, iar MM reprezentând numărul de intervale. Pe următoarele MM linii se află câte două numere, reprezentând capetele unui interval [l,r][l, r]. Pe următoarea linie, se află numarul QQ, reprezentând numărul de interogări. Pe următoarele QQ linii, se află câte un număr xx, cu sensul din enunț.

Date de ieșire

Fisierul de ieșire felix.out va conține QQ linii, fiecare cu câte un număr qiq_i, care reprezintă răspunsul la query-ul cu indicele ii.

Restricții si precizări

  • Dacă nu există soluție pentru un query, se va afișa 1-1 pe linia corespunzătoare
  • N1 000 000 000N \leq 1 \ 000 \ 000 \ 000
  • Q100 000Q \leq 100 \ 000
  • M100 000M \leq 100 \ 000
  • x1 000 000 000x \leq 1 \ 000 \ 000 \ 000
  • Notăm cu LL lungimea maximă a unui interval, LNL \leq N.
  • Pentru teste în valoare de 1515 puncte LL, QQ, M1 000M \leq 1 \ 000, N100 000N \leq 100 \ 000.
  • Pentru alte teste în valoare de 1717 puncte QQ, M1 000M \leq 1 \ 000, N1 000 000N \leq 1 \ 000 \ 000.
  • Pentru alte teste în valoare de 3131 puncte QQ, M100 000M \leq 100 \ 000, N1 000 000N \leq 1 \ 000 \ 000.
  • Pentru alte teste în valoare de 3737 de puncte, nu există restricții suplimentare.

Exemplul 1

felix.in

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

felix.out

3
0
2

Exemplul 2

felix.in

6 3
2 5
2 3
4 5
2
4
5

felix.out

0
-1

Explicații

Pentru primul exemplu, cele 77 persoane au următoarele grade de irascibilitate, în ordine: 1 2 3 4 2 1 01 \ 2 \ 3 \ 4 \ 2 \ 1 \ 0.
Pentru primul query, xx este 11 și există o singură persoană care are grad mai mare decât 33. Pentru al doilea query, xx este 55. Există doar 44 persoane cu grad mai mare decât 11, dar 66 persoane cu grad mai mare decât 00. Astfel, răspunsul este 00. Pentru al treilea query, xx este 22 și există fix două persoane cu grad mai mare decât $24.

Pentru al doilea exemplu, cele 66 persoane au următoarele grade de irascibilitate, în ordine: 0 2 2 2 2 00 \ 2 \ 2 \ 2 \ 2 \ 0.
Pentru primul query, xx este 44 și există 44 persoane cu grad mai mare decât cel al persoanelor care au gradul 00. Pentru al doilea query, xx este 55 și nu există nicio persoană care să aibă grad de irascibilitate mai mic decât minim 55 persoane.

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