pavare

Time limit: 0.02s Memory limit: 2MB Input: pavare.in Output: pavare.out

După terminarea facultăţii, Ionică a ajuns inginer constructor şi vrea să se angajeze în oraşul său natal. După ce studiază ofertele de muncă, găseşte un post de inginer la Primărie. Pentru a ocupa acest post trebuie să susţină o probă teoretică. La acestă probă, el trebuie să realizeze un proiect pentru pavarea pieţei din centrul oraşului.
Piaţa are forma unui dreptunghi şi are trasat un caroiaj, astfel încât poate fi reprezentată ca un tablou bidimensional cu nn linii şi pp coloane. Fiecare element al matricei corespunde unui pătrat cu latura 1 m1 \ \text{m}. Pavarea se poate realiza folosind dale de două tipuri:
Tipul F:

Tipul I:

Observaţi că o dală de tip F este formată din 66 pătrate de latură 1 m1 \ \text{m}, dispuse în forma literei F (deci acoperă o suprafaţă cu aria de 6 m26 \ \text{m} ^ 2 ), iar o dală de tipul I este formată din două pătrate cu latura de 1 m1 \ \text{m} (deci va avea aria 2 m22 \ \text{m} ^ 2).
Prin pavarea pieţei se înţelege acoperirea fiecărui pătrat de latură 1 m1 \ \text{m} al pieţei cu exact o singură dală. Dalele se pot roti şi pot fi utilizate pe orice faţă.
Restricţia impusă de primar este ca suprafaţa din piaţă pavată cu dale de tipul F să aibă aceeaşi arie cu cea pavată cu dale de tipul I.
Pentru a vizualiza modalitatea de pavare a pieţei, Ionică va numerota dalele cu numere naturale consecutive începând de la 11. Numărul asociat unei dale va fi scris în fiecare pătrat din piaţă acoperit de dala respectivă.

Cerinţă

Scrieţi un program care să determine o modalitate de pavare a pieţei, care să respecte condiţiile de mai sus.

Date de intrare

Fişierul de intrare pavare.in va conţine pe prima linie două numere naturale separate prin spaţiu n pn \ p reprezentând numărul de linii şi respectiv numărul de coloane ale matricei.

Date de ieşire

Fişierul de ieşire pavare.out va conţine nn linii, pe fiecare linie fiind scrise pp numere naturale separate prin câte un spaţiu. Valorile scrise în fişierul de ieşire sunt numerele asociate dalelor care acoperă cele n×pn \times p pătrate ale pieţei.

Restricţii şi precizări

  • 3n,p1503 \leq n, p \leq 150
  • Produsul npn \cdot p este multiplu de 2424.
  • Soluţia nu este unică, se poate afişa orice soluţie.

Exemplu

pavare.in

6 4

pavare.out

7 7 8 8
1 1 2 2
1 3 3 2
1 1 2 2
1 4 4 2
5 5 6 6

Explicaţie

Am pavat o piaţă cu 66 linii şi 44 coloane, având aria 24 m224 \ \text{m} ^ 2 . Pentru pavare s-au utilizat 88 dale (22 dale de tip F care acoperă o suprafaţă cu aria 26=12 m22 \cdot 6 = 12 \ \text{m} ^ 2 şi 66 dale de tip I, care acoperă restul pieţei, având de asemenea aria 12 m212 \ \text{m} ^ 2 .
Fişierul de ieşire corespunde pavării:

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