desen

Time limit: 0.2s Memory limit: 32MB Input: desen.in Output: desen.out

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 NN și MM, 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 NN linii se află câte MM numere din mulţimea {0,1,2,3,4}\{0, 1, 2, 3, 4\}, 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 NN linii, fiecare linie conţinând exact 2M12 \cdot M - 1 caractere care pot fi:

  • . (punct, caracterul cu codul ASCII 4646)
  • | (bara verticală, caracterul cu codul ASCII 124124)
  • _ (liniuţa de subliniere, caracterul cu codul ASCII 9595).

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 c1c_1, c2c_2, \dots, c2M1c_{2 \cdot M - 1} caracterele de pe o linie a fişierului de ieşire. Întotdeauna c1=c_1 = .. Caracterul cic_i (ii impar, i>2i > 2) este liniuţă de subliniere dacă latura de jos a pătrăţelului i+12\frac{i+1}{2} de pe foaie aparţine poligonului şi . în caz contrar. Caracterul cic_i (ii par) este bară verticală dacă latura din dreapta pătrăţelului i2\frac{i}{2} de pe foaie aparţine poligonului, respectiv . în caz contrar.

Restricții și precizări

  • 3N,M1 0003 \leq N, M \leq 1 \ 000;
  • 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

...._..
.._|.|.
.|_._|.
.......

Explicație

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