MOSAIC
  • Мозаика
    MOSAIС


Описание
Для изготовления мозаичных рисунков используются белые и черные плитки размера 1x1. Мозаичные рисунки имеют прямоугольную форму, а изображение на них представляет набор прямоугольников из черных плиток. Стороны прямоугольников параллельны сторонам рисунка. Никакие фигуры на рисунке не касаются и не пересекаются. 

Необходимо получить увеличенную или уменьшенную копию заданного рисунка, выложенную такими же плитками. Отношения сторон фигур и расстояний между ними на копии рисунка должны быть такими же, как и на оригинале. Размер исходного рисунка не более 50x50 плиток.

Задание
Требуется написать программу, которая по заданному рисунку изготавливает его копию, с коэффициентом пропорциональности в L/K раз (где L и K – натуральные числа) или указывает, что это сделать невозможно.

Например:

Исходный рисунок:


Копия с коэффициентом пропорциональности в 2/1 раза:


Копия с коэффициентом пропорциональности 2/3: 


Технические условия

Входной файл: MORNING.IN
Выходной файл: MORNING.OUT

Входные данные
В первой строке файла указаны числа M и N - размеры рисунка (M – количество строк, N количество символов в каждой)
Далее идут M строк по N символов в каждой, представляющих исходный рисунок. В них черные плитки обозначены символом "
*", а белые - символом "+".
В последней строке два целых числа L и K – числитель и знаменатель коэффициента пропорциональности.

Выходные данные
Вывод производится в файл в виде строк из символов "
*" и "+", представляющих требуемую копию рисунка.

Например: 

MOSAIC.IN
8 8
++****++
++****++
++++++++
++++++++
++****++
++****++
++****++
++****++
1 2


MOSAIC.OUT

+**+
++++
+**+
+**+


Если же невозможно получить копию, удовлетворяющую требованиям, файл должен содержать одно слово: «невозможно»