# import platform # ver = platform.python_version_tuple() # if int(ver[1]) < 5: # from fractions import gcd # else: # from math import gcd # from itertools import accumulate, combinations, permutations, product # from bisect import bisect, bisect_left # from collections import Counter, defaultdict, deque # from heapq import heappush, heappop # from functools import lru_cache # @lru_cache(maxsize=1024) from sys import stdin, stdout input = lambda: stdin.readline().rstrip() write = stdout.write def main(): graphic = C[:] for _ in [0] * (R // 90): graphic = rot90(graphic) graphic = division(graphic, K) print(*graphic, sep='\n') def rot90(c): ret = [] for j in range(len(c[0])): s = '' for i in range(len(c) - 1, -1, -1): s += c[i][j] ret.append(s) return ret def division(c, k): ret = [] for ci in c: s = '' for cj in ci: s += cj * k for _ in [0] * k: ret.append(s) return ret R, K = map(int, input().split()) H, W = map(int, input().split()) C = stdin.read().splitlines() main()