eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

Сжатие изображения

Сжатие изображения

Агент Джонни Инглиш проник в логово врага и обнаружил в нем секретное изображение, которое необходимо срочно передать в командный центр. Однако перед этим его необходимо сжать, чтобы снизить время передачи до минимума.

Изображение представляет собой прямоугольник n * m, разделенный на nm единичных клеток - пикселей. Каждый пиксель может быть либо черного, либо белого цвета.

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

Помогите Джонни найти сжатие изображения, которое содержит в себе минимальное количество пикселей.

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

Первая строка содержит два целых числа n и m (1n, m3000) - высота и ширина исходного изображения соответственно. Далее следует n строк, каждая из которых состоит из m символов, описывающих цвета пикселей исходного изображения. Символ "." обозначает пиксель белого цвета, а символ "X" — пиксель черного цвета.

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

Выведите описание сжатия изображения. Следуйте тому же формату, что и во входных данных.

Ліміт часу 2 секунди
Ліміт використання пам'яті 128 MiB
Вхідні дані #1
9 12
........XXXX
........XXXX
........XXXX
XXXXXXXXXXXX
XXXXXXXXXXXX
XXXXXXXXXXXX
XXXX....XXXX
XXXX....XXXX
XXXX....XXXX
Вихідні дані #1
3 3
..X
XXX
X.X
Вхідні дані #2
2 3
X.X
.X.
Вихідні дані #2
2 3
X.X
.X.
Вхідні дані #3
2 3
..X
..X
Вихідні дані #3
1 3
..X
Джерело 2018 Цикл Интернет-олимпиад для школьников, первая командная олимпиада сезона, 14 октября, Задача B