Gigel a desenat pe o foaie de matematică un poligon ale cărui laturi sunt aşezate de-a lungul liniilor caroiajului foii. Niciuna dintre laturile poligonului nu se află pe marginea foii de hârtie. Gigel a notat în fiecare pătrăţel al foii de hârtie câte dintre cele 4 laturi ale sale se află pe conturul poligonului.
Cerinţă
Cunoscând valorile scrise în pătrăţelele foii de hârtie, să se reconstituie poligonul.
Date de intrare
Fişierul de intrare desen.in
conţine pe prima linie două numere naturale și , separate prin spaţiu, reprezentând numărul de linii şi respectiv numărul de coloane ale caroiajului de pe foaia de matematică. Pe fiecare dintre următoarele linii se află câte numere din mulţimea , separate prin câte un spaţiu, reprezentând valorile scrise în pătrăţelele foii de matematică.
Date de ieșire
Fişierul de ieşire desen.out
va conţine desenul reconstituit. În fişier se vor afla linii, fiecare linie conţinând exact caractere care pot fi:
.
(punct, caracterul cu codul ASCII )|
(bara verticală, caracterul cu codul ASCII )_
(liniuţa de subliniere, caracterul cu codul ASCII ).
Prima linie a fişierului de ieşire ilustrează aspectul primei linii de pe foaia de matematică (mai exact, laturile de jos ale pătrăţelelor de pe prima linie), a doua linie din fişier aspectul celei de-a doua linii de pe foaie (laturile de jos, precum şi eventualele laturi verticale), etc. Fie , , , caracterele de pe o linie a fişierului de ieşire. Întotdeauna .
. Caracterul ( impar, ) este liniuţă de subliniere dacă latura de jos a pătrăţelului de pe foaie aparţine poligonului şi .
în caz contrar. Caracterul ( par) este bară verticală dacă latura din dreapta pătrăţelului de pe foaie aparţine poligonului, respectiv .
în caz contrar.
Restricții și precizări
- ;
- Se garantează că există soluţie pentru datele de test.
Exemplu
desen.in
4 4
0 0 1 0
0 2 3 1
1 3 2 1
0 1 1 0
desen.out
...._..
.._|.|.
.|_._|.
.......