O invazie de N
farfurii zburătoare (denumite uzual OZN) dă bătăi de cap autorităţilor. În fiecare astfel de OZN se află extratereştri care au ca misiune distrugerea planetei noastre. Radarul care a detectat invazia are un ecran similar cu planul XOY
. Fiecare OZN este reprezentat pe ecran printr-un segment de dreaptă.
Pentru anihilarea OZN-urilor, autorităţile dispun de K
arme laser. Armele sunt poziţionate pe sol (ilustrat pe ecranul radarului prin axa OX
). Fiecare armă emite o rază laser, ilustrată pe ecran printr-o paralelă cu axa OY
. Dacă o rază laser intersectează segmentul de pe ecranul radarului corespunzător unui OZN, raza va omorî toţi extratereştrii aflaţi în OZN-ul respectiv.
Din păcate, în preajmă se află doar un militar specializat în arme laser, aşa că autorităţile doresc să ştie exact ce armă trebuie să folosească acesta pentru a distruge cât mai mulţi extratereştri.
Cerinţă
Ajutaţi autorităţile să determine numărul de extratereştri care pot fi anihilaţi cu fiecare armă din dotare.
Date de intrare
Fișierul de intrare ozn.in
conține pe prima linie două numere naturale separate prin spaţiu N K
reprezentând numărul de OZN-uri şi respectiv numărul de arme laser. Pe următoarele N
linii sunt descrise cele N OZN-uri, câte unul pe linie. Un OZN este descris prin 5
numere naturale separate prin câte un spaţiu x1 y1 x2 y2 nr
, reprezentând în ordine coordonatele capetelor segmentului corespunzător (x1, y1)
, (x2, y2)
, iar nr
– numărul de extratereştri din el. Pe ultima linie se găsesc K
numere naturale a
1
a
2
a
3
… a
K
, separate prin câte un spaţiu, reprezentând coordonatele pe axa OX
(abscisele) unde sunt amplasate armele laser.
Date de ieșire
Fișierul de ieșire ozn.out
va conține K
linii. Pe linia i
va fi scris numărul total de extratereştri care pot fi distruşi cu arma i
, considerând armele numerotate în ordinea în care acestea apar în fişierul de intrare.
Restricții și precizări
1 ≤ N ≤ 20 000
1 ≤ K ≤ 20 000
1 ≤
orice coordonată din fişierul de intrare≤ 2 000 000
1 ≤ nr ≤ 100
, pentru orice OZNx
1
< x
2
, pentru orice OZN- Pe ecranul radarului segmentele ce descriu navele se pot intersecta.
- Dacă raza laser trece prin unul dintre capetele unui OZN atunci acesta este distrus.
- Pentru 50% dintre testele de intrare
1 ≤ N*K ≤ 10 000 000
Exemplu:
ozn.in
5 3 1 1 3 2 2 2 3 4 1 3 6 5 8 5 8 5 1 7 1 6 6 2 7 4 1 3 7 5
ozn.out
5 15 6
Explicație
Arma care emite din punctul (3,0)
doboară farfuriile reprezentate de segmentele {(1,1)(3,2)}
şi {(2,3)(4,1)}
distrugând în total 5
extratereştri.
Arma care emite din punctul (7,0)
doboară farfuriile reprezentate de segmentele {(5,1)(7,1)}, {(6,2)(7,4)}
şi {(6,5)(8,5)}
distrugând în total 15
extratereştri.
Arma care emite din punctul (5,0)
doboară farfuria reprezentată de segmentul {(5,1)(7,1)}
şi distruge 6
extratereştri.