Тетрiс
Обмеження: 2 сек., 256 МіБ
Тарас обожнює грати в тетріс. Він грає в усі види та на усіх платформах що бачить. Цього разу йому попався вид, де можна оперувати лише чотирма типами тетроміно. Тетраміно — геометричні фігури, що складаються з чотирьох квадратів, з’єднаних сторонами.
Дозволені типи тетраміно
Тарасу потрібно замостити прямокутне поле в \(n\) рядків та \(m\) стовпців за допомогою лише даних типів тетраміно. Але просто замостити для Тараса недостатньо — він бажає зробити це використовуючи мінімальну кількість типів тетраміно. Тетраміно можна повертати і дзеркально відображати — такі фігури вважатимуться тим самим типом, що й вихідна.
Тарасу самотньо грати поодинці, тому він хоче запросити вас насолодитися грою разом. Допоможіть Тарасу замостити поле мінімальною кількістю типів тетраміно.
Вхідні дані
У єдиному рядку задано два числа \(n\) та \(m\) — кількість рядків та стовпців відповідно.
Вихідні дані
Якщо замостити неможливо — виведіть єдине число -1.
Інакше виведіть матрицю \(A\) з \(n\) рядків, в кожному по \(m\) чисел, всі елементи якої належать проміжку \(0 \leq A_{ij} \leq 10^9\), яка відображає шукане замощення. Однакові числа належать одній фігурі, різні числа — різним фігурам.
Якщо рiшень декiлька, то виведiть будь-яке.
Обмеження
\(1 \leq n, m \leq 10^3\).
Приклади
| Вхідні дані (stdin) | Вихідні дані (stdout) |
|---|---|
| 4 4 | 0 0 1 1 0 0 1 1 2 2 3 3 2 2 3 3 |
| Вхідні дані (stdin) | Вихідні дані (stdout) |
|---|---|
| 1 1 | -1 |
Надіслати розв'язок
| Element Type | Створено | Хто | Задача | Компілятор | Результат | Час (сек.) | Пам'ять (МіБ) | № | Дії |
|---|
| Element Type | Створено | Хто | Задача | Компілятор | Результат | Час (сек.) | Пам'ять (МіБ) | № | Дії |
|---|