Ion și Gheorghe au primit moștenire două parcele de pământ de formă poligonală. Într-o zi, Ion l-a văzut pe Gheorghe că a folosit o parte din bucata lui. Certându-se, aceștia au remarcat că acea bucată era parte din moștenirea amândurora. Au hotărât să se ducă la judecată și să se rezolve eroarea care a făcut ca parcelele moștenite să se intersecteze. Dar cum procesul va începe destul de târziu, au hotărât să nu folosească acea bucată comună până nu va fi rezolvată problema.
Cerința
Dându-se coordonatele vârfurilor celor două parcele, care au formă de poligon convex, să se afle coordonatele vârfurilor părții comune.
Date de intrare
Pe prima linie a fișierului de intrare parcele.in
se găsește un număr natural N
. Pe următoarele N
linii se găsesc perechi de numere întregi ce reprezintă coordonatele vârfurilor primului poligon. Pe a N+2
-a linie se găsește un număr natural M
, reprezentând numărul de vârfuri al celui de-al doilea poligon. Următoarele M
linii conțin perechi de numere întregi ce reprezintă coordonatele vârfurilor celui de-al doilea poligon. În fiecare listă de perechi, două perechi consecutive formează o latură a poligonului respectiv. De asemenea, ultima și prima dintre perechile din fiecare listă determină o latură. Vârfurile sunt date în sens trigonometric.
Date de ieșire
Pe prima linie a fișierului de ieșire parcele.out
se va găsi un număr natural P
, iar pe următoarele P
linii perechi de numere reale cu două zecimale exacte ce reprezintă coordonatele părții comune. Două perechi consecutive trebuie să determine o latură a poligonului, dar și ultima pereche cu prima trebuie să determine o latură.
Restricții și precizări
3 ≤ N, M ≤ 1.000
- coordonatele au valori între
-100.000
și100.000
- cele două poligoane au intersecția de arie pozitivă
- niciun poligon nu este inclus în celălalt
- se acordă
30%
din punctaj pentru aflarea luiP
Exemplu:
parcele.in
3 1 4 8 4 8 9 3 5 6 5 1 12 6
parcele.out
4 5.00 6.00 5.00 4.00 8.00 4.00 8.00 6.00