R, K = map(int, input().split()) H, W = map(int, input().split()) original = [list(input().strip()) for _ in range(H)] # Define rotation methods rotate_methods = { 0: lambda orig, h, w: [row.copy() for row in orig], 90: lambda orig, h, w: [[orig[h - 1 - y][x] for y in range(h)] for x in range(w)], 180: lambda orig, h, w: [[orig[h - 1 - y][w - 1 - x] for x in range(w)] for y in range(h)], 270: lambda orig, h, w: [[orig[y][w - 1 - x] for y in range(h)] for x in range(w)] } # Rotate the original image rotated = rotate_methods[R](original, H, W) # Scale the rotated image scaled = [] for row in rotated: expanded_row = [] for cell in row: expanded_row.extend([cell] * K) for _ in range(K): scaled.append(expanded_row) # Output the scaled image for line in scaled: print(''.join(line))