poligon

Gigel a desenat pe hârtie un poligon (nu neaparat convex si care se poate chiar autointersecta) cu N vârfuri si a marcat mijlocul fiecarei laturi. Fratele lui, însa, a sters poligonul desenat, pe hârtie ramânând marcate numai mijloacele laturilor. Gigel ar dori, totusi, sa redeseneze poligonul, asa cum era el initial. Se considera ca poligonul are vârfurile numerotate de la 1 la N, în ordinea în care apar pe conturul poligonului. Cu aceasta numerotare a vârfurilor, se defineste si o numerotare a laturilor. Latura i (1<=i<N) este segmentul ce uneste vârfurile i si i+1. Latura N uneste vârfurile 1 si N.

Cerinta

Dându-se coordonatele mijloacelor laturilor unui poligon, determinati coordonatele vârfurilor sale.

Date de intrare

Pe prima linie a fisierului de intrare poligon.in se afla numarul întreg N, de laturi (si vârfuri) ale poligonului. Pe urmatoarele N linii se afla câte doua numere reale (cu maxim trei zecimale), separate printr-un spatiu, x si y, reprezentând coordonatele mijloacelor fiecarei laturi, în ordine, de la 1 la N.

Date de iesire

Fisierul de iesire poligon.out va contine mesajul 'fara solutie', în cazul în care Gigel a marcat gresit mijloacele laturilor si nu se poate forma nici un poligon având mijloacele laturilor date. În cazul în care exista cel putin o solutie, veti afisa N linii. Fiecare linie va contine doua numere reale, afisate cu trei zecimale, reprezentând coordonatele (x,y) ale unui vârf. Pe prima linie se vor afisa coordonatele vârfului numerotat cu 1, pe a doua linie, coordonatele vârfului numerotat cu 2 s.a.m.d.

Restrictii

Exemple

poligon.in

poligon.out
4
0 0
2 0
2 2
0 2
-1.000 1.000
1.000 -1.000
3.000 1.000
1.000 3.000

 

poligon.in

poligon.out
4
0 0
2 0
2 2
1 3

fara solutie

 

Timp maxim de executie/test: 0.3 secunde

Mugurel Andreica

Universitatea Politehnica Bucuresti

Contact:mugurel_ionut@yahoo.com