Codeforces Beta Round 36 |
---|
Закончено |
С тех пор, как знаменитый берляндский абстракционист Калевич узнал о фракталах, они превратились в основную тему его творчества. Каждое утро художник берет лист клетчатой бумаги и первым делом создает шаблон для будущей картины. Он выделяет квадрат размером n × n клеток и закрашивает некоторые из них в черный цвет. Затем он берет чистый квадратный лист и рисует фрактал по следующему алгоритму:
Шаг 1. Лист делится на n2 одинаковых квадратов и часть из них закрашивается в черный цвет в соответствии с заготовленным шаблоном.
Шаг 2. Каждый из квадратов, оставшихся белыми, разбивается на n2 меньших квадратов, некоторые из них закрашиваются в соответствии с шаблоном.
На каждом из последующих шагов повторяются действия шага 2.
К сожалению, эта рутинная работа отнимает у гениального художника много времени. Калевич давно мечтает об автоматизации описанного процесса, чтобы самому перейти к созданию трехмерных (и даже четырехмерных!) фракталов.
В первой строке заданы целые числа n и k (2 ≤ n ≤ 3, 1 ≤ k ≤ 5), где k — количество шагов алгоритма. В следующих n строках записано по n символов, задающих шаблон. Символ «.» обозначает белую клетку, символ «*» — черную. Гарантируется, что шаблон содержит хотя бы одну белую клетку.
В выходной файл выведите матрицу размера nk × nk, представляющую собой картину после применения k шагов алгоритма.
2 3
.*
..
.*******
..******
.*.*****
....****
.***.***
..**..**
.*.*.*.*
........
3 2
.*.
***
.*.
.*.***.*.
*********
.*.***.*.
*********
*********
*********
.*.***.*.
*********
.*.***.*.
Название |
---|