print2135. Кроссворд

printКроссворд

Ограничения: время – 1s/2s, память – 64MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (0)

Мирко составил отличный кроссворд и теперь он хочет обрамить его. Кроссворд Мирко состоит из `M` х `N` букв, а рамка вокруг него должно быть `U` символов в ширину на верхней строне, `L` символов слева, `R` символов справа и `D` символов на нижней стороне. Рамка состоит из символов '#' (хэш) и '.' (точка), которые чередуются, как поля на шахматной доске. Эти символы должны быть расположены таким образом, что, если рамку расширить на весь кроссворд и мы рассмотрим эти символы в качестве шахматной доски, то первый символ '#' должен быть размещен в верхнем левом поле. См. примеры ниже для лучшего понимания задачи.
Первая строка входного файла содержит два целых числа `M` и `N` (`1\ ≤\ M,\ N\ ≤\ 10`). Вторая строка содержит целые числа `U`, `L`, `R`, `D` (`0\ ≤\ U,\ L,\ R,\ D\ ≤\ 5`).
Следующие `M` строк входного файла содержит `N` символов – строчные буквы английского алфавита. Эти строки представляют кроссворд Мирко.
Вывысти обрамленный кроссворд, как указано в условии.

Пример ввода 1

4 4
2 2 2 2
honi
oker
nera
irak

Пример вывода 1

#.#.#.#.
.#.#.#.#
#.honi#.
.#oker.#
#.nera#.
.#irak.#
#.#.#.#.
.#.#.#.#

Пример ввода 2

2 4
1 0 3 1
rima
mama

Пример вывода 2

#.#.#.#
rima.#.
mama#.#
.#.#.#.
Source: COCI 2013/2014, contest #3
loading