4. Раскраска стены
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Длина кирпича в два раза больше его высоты, то есть его можно представить, как прямоугольник размером $$$1\times 2$$$ клетки. Стена сложена из $$$n$$$ рядов кирпичей, каждый ряд состоит из $$$m$$$ клеток. В любом ряду последовательность кирпичей сдвинута на 1 клетку по сравнению с вышележащим и нижележащим. То есть в каждом ряду может быть не более $$$m/2$$$ целых кирпичей, а в концах каждого ряда могут находиться половинки кирпичей. При этом в самом нижнем ряду слева лежит целый кирпич. На картинке приведён пример стены для $$$n=4$$$ и $$$m=7$$$.

Вы хотите покрасить кирпичи в минимальное число цветов так, чтобы два соседних кирпича (имеющих общую вертикальную сторону или фрагмент общей горизонтальной стороны) были покрашены в разные цвета, при этом вы хотите использовать минимальное возможное количество цветов.

Входные данные

В первой строке входных данных записано число $$$n$$$ ($$$1\le n\le 10$$$) — количество рядов кирпичей в стене. Во второй строке записано число $$$m$$$ ($$$1\le m\le 20$$$) — длина каждого ряда кирпичей в клетках.

Выходные данные

Программа должна вывести $$$n$$$ строк, каждая из которых содержит ровно $$$m$$$ цифр от 1 до 9 — цвета, в которые покрашены клетки стены. Если две соседние клетки относятся к одному и тому же кирпичу, то они записываются одинаковыми цифрами, в противном случае — различными. Размещение кирпичей в вашей раскраске должно соответствовать условию задачи (на левом конце нижней строки находится целый кирпич). Используйте минимально возможное количество цветов (разрешены любые цифры от 1 до 9, но количество различных использованных цифр должно быть наименьшим возможным для данного размера стены).

Не допускаются пробелы и другие символы между цифрами, пробелы в началах и на концах строк, пустые строки в выводе программы.

Примеры
Входные данные
2
4
Выходные данные
1223
3311
Входные данные
3
2
Выходные данные
66
28
66