Polycarp is writing the prototype of a graphic editor. He has already made up his mind that the basic image transformations in his editor will be: rotate the image 90 degrees clockwise, flip the image horizontally (symmetry relative to the vertical line, that is, the right part of the image moves to the left, and vice versa) and zooming on the image. He is sure that that there is a large number of transformations that can be expressed through these three.

He has recently stopped implementing all three transformations for monochrome images. To test this feature, he asked you to write a code that will consecutively perform three actions with a monochrome image: first it will rotate the image 90 degrees clockwise, then it will flip the image horizontally and finally, it will zoom in twice on the image (that is, it will double all the linear sizes).

Implement this feature to help Polycarp test his editor.


-----Input-----

The first line contains two integers, w and h (1 ≤ w, h ≤ 100) — the width and height of an image in pixels. The picture is given in h lines, each line contains w characters — each character encodes the color of the corresponding pixel of the image. The line consists only of characters "." and "*", as the image is monochrome.


-----Output-----

Print 2w lines, each containing 2h characters — the result of consecutive implementing of the three transformations, described above.


-----Examples-----
Input
3 2
.*.
.*.

Output
....
....
****
****
....
....

Input
9 20
**.......
****.....
******...
*******..
..******.
....****.
......***
*.....***
*********
*********
*********
*********
....**...
...****..
..******.
.********
****..***
***...***
**.....**
*.......*

Output
********......**********........********
********......**********........********
********........********......********..
********........********......********..
..********......********....********....
..********......********....********....
..********......********..********......
..********......********..********......
....********....****************........
....********....****************........
....********....****************........
....********....****************........
......******************..**********....
......******************..**********....
........****************....**********..
........****************....**********..
............************......**********
............************......**********

Difficulty: EASY

Solutions:
(w, h) = list(map(int, input().split()))
a = []
for i in range(h):
	a.append(input())
for i in range(w):
	s = ''
	for j in range(h):
		s += a[j][i] * 2
	print(s, s, sep='\n')


(w, h) = [int(i) for i in input().split()]
bitmap = [list(input()) for i in range(h)]
bitmap = [[bitmap[i // 2][j // 2] for i in range(2 * h)] for j in range(2 * w)]
print('\n'.join((''.join(i) for i in bitmap)))


(w, h) = (int(x) for x in input().split(' '))
massive = []
for i in range(h):
	mass = []
	for elem in input():
		mass.append(elem)
		mass.append(elem)
	massive.append(mass)
	massive.append(mass)
for i in range(2 * w):
	for j in range(2 * h):
		print(massive[j][i], end='')
	print()


from sys import stdin, stdout

def pcol2(s, i):
	write = stdout.write
	for j in range(len(s)):
		write(s[j][i] * 2)
	write('\n')
next(stdin)
s = stdin.read().split()
for i in range(len(s[0])):
	pcol2(s, i)
	pcol2(s, i)


(w, h) = map(int, input().split())
(q, r) = ([input() for i in range(h)], [''] * w)
for i in range(w):
	for j in range(h):
		r[i] += str(q[j][i]) * 2
for i in r:
	print(i)
	print(i)


(w, h) = map(int, input().split())
image = [input() for i in range(h)]
for i in range(w):
	image2 = ''
	for j in range(h):
		temp = image[j][i]
		print(temp + temp, end='')
		image2 += temp + temp
	print()
	print(image2)


m = 0
l = input()
a = ''
b = ''
while l[m] != ' ':
	a = a + str(l[m])
	m += 1
a = int(a)
while m != len(l):
	b = b + str(l[m])
	m += 1
b = int(b)
h = 0
kartina = []
for lo in range(b):
	o = list(input())
	kartina.append(o)
for k in range(a):
	for t in range(b):
		print(kartina[t][k], end='')
		print(kartina[t][k], end='')
	print()
	for t in range(b):
		print(kartina[t][k], end='')
		print(kartina[t][k], end='')
	print()


(n, m) = list(map(int, input().split()))
data = [list(input()) for i in range(m)]
data_transp = [[''] * m for i in range(n)]
for i in range(n):
	for j in range(m):
		data_transp[i][j] = data[m - j - 1][i]
data_mirror = [[''] * m for i in range(n)]
for i in range(n):
	for j in range(m):
		data_mirror[i][j] = data_transp[i][m - j - 1]
data_large = [[''] * (m * 2) for i in range(n * 2)]
for i in range(n):
	for j in range(m):
		data_large[i * 2][j * 2] = data_mirror[i][j]
		data_large[i * 2 + 1][j * 2] = data_mirror[i][j]
		data_large[i * 2][j * 2 + 1] = data_mirror[i][j]
		data_large[i * 2 + 1][j * 2 + 1] = data_mirror[i][j]
for i in range(2 * n):
	data_large[i] = ''.join(data_large[i])
print('\n'.join(data_large))


import sys
(w, h) = (int(x) for x in input().split())
pic = [[''] * 2 * h for _ in range(2 * w)]
for (i, row) in enumerate(sys.stdin):
	if not row.strip() or i >= h:
		break
	for (j, c) in enumerate(row[:-1]):
		if j >= w:
			continue
		pic[2 * j][2 * i] = c
		pic[2 * j][2 * i + 1] = c
		pic[2 * j + 1][2 * i] = c
		pic[2 * j + 1][2 * i + 1] = c
	if i == h - 1:
		break
print('\n'.join((''.join(row) for row in pic)))


(a, b) = [int(i) for i in input().split()]
matrix_in = [[0 for i in range(a)] for j in range(b)]
for i in range(b):
	line = input()
	for j in range(a):
		matrix_in[i][j] = line[j]
matrix_rotated = [[0 for i in range(b)] for j in range(a)]
for i in range(a):
	for j in range(b):
		matrix_rotated[i][j] = matrix_in[j][i]
for i in range(a):
	toprint = ''
	for j in range(b):
		toprint += matrix_rotated[i][j] * 2
	print(toprint)
	print(toprint)


(n, m) = [int(x) for x in input().split()]
arr = []
turn = []
for i in range(n):
	turn.append([None] * m)
for i in range(m):
	arr.append(list(input()))
for i in range(m):
	for j in range(n):
		turn[j][i] = arr[i][n - j - 1]
s = []
for i in range(n):
	s.append(list(turn[i]))
for i in range(m):
	for j in range(n):
		turn[j][i] = s[n - j - 1][i]
for i in range(n):
	for k in range(2):
		for j in range(m):
			print(turn[i][j] * 2, end='')
		print()


def main():
	(w, h) = list(map(int, input().split()))
	a = [input() for i in range(h)]
	for i in range(w):
		b = [a[j][i] * 2 for j in range(h)]
		s = ''.join(b)
		print(s)
		print(s)

def __starting_point():
	main()
__starting_point()


(w, h) = map(int, input().split())
listGorizontal = []
listVertical = []
for i in range(h):
	listGorizontal.append(input())
for i in range(h):
	s = ''
	k = w
	for j in listGorizontal[i]:
		s += j[w - k] * 2
	listVertical.append(s)
s = ''
k = h
for i in range(2 * w):
	for j in range(h):
		s += 2 * listVertical[h - k][i]
		k += -1
	k = h
	if i != 2 * w:
		s += '\n'
print(s)


I = input
R = range
(w, h) = map(int, I().split())
t = [I() for _ in R(h)]
for r in [[t[i][j] * 2 for i in R(h)] for j in R(w)]:
	s = ''.join(r)
	print(s + '\n' + s)


class CodeforcesTask523ASolution:

	def __init__(self):
		self.result = ''
		self.w_h = []
		self.image = []

	def read_input(self):
		self.w_h = [int(x) for x in input().split(' ')]
		for x in range(self.w_h[1]):
			self.image.append(list(input()))

	def process_task(self):
		rotated = [['_' for x in range(self.w_h[1])] for y in range(self.w_h[0])]
		for x in range(self.w_h[1]):
			for y in range(self.w_h[0]):
				rotated[y][x] = self.image[x][y]
		zoomed = [[c + c for c in row] for row in rotated]
		for row in zoomed:
			print(''.join(row))
			print(''.join(row))

	def get_result(self):
		return self.result
Solution = CodeforcesTask523ASolution()
Solution.read_input()
Solution.process_task()
print(Solution.get_result())


(w, h) = map(int, input().split())
file = [[] for i in range(w)]
for i in range(h):
	l = list(input())
	for j in range(w):
		file[j].append(l[j])
for i in range(w):
	print(''.join([c * 2 for c in file[i]]))
	print(''.join([c * 2 for c in file[i]]))


(w, h) = map(int, input().split())
z = [None] * h
for i in range(h):
	z[i] = input()
for i in range(w):
	for j in range(2):
		for k in range(h):
			print(z[k][i] + z[k][i], end='')
		print()


(w, h) = map(int, input().split())
stgs = []
for i in range(h):
	stgs.append(input())
m = [0] * h
for i in range(h):
	m[i] = [0] * w
for i in range(h):
	for j in range(w):
		m[i][j] = stgs[i][j]
for i in range(h):
	m[i].reverse()
sk = 1
st = ''
for i in range(w - 1, -1, -1):
	for j in range(h):
		st += m[j][i] + m[j][i]
	print(st, st, sep='\n')
	st = ''


def function():
	size = input().split(' ')
	w = int(size[0])
	h = int(size[1])
	if not 1 <= w <= 100 and (not 1 <= h <= 100):
		return None
	matrix_result = [[None for j in range(0, 2 * h)] for i in range(0, 2 * w)]
	for i in range(0, h):
		arr = list(input())
		for j in range(0, w):
			matrix_result[2 * j][2 * i] = arr[j]
			matrix_result[2 * j + 1][2 * i] = arr[j]
			matrix_result[2 * j][2 * i + 1] = arr[j]
			matrix_result[2 * j + 1][2 * i + 1] = arr[j]
	for i in range(0, 2 * w):
		print(''.join((str(x) for x in matrix_result[i])))
function()


from sys import *
input = stdin.readline
listInput = lambda : list(map(int, input().strip().split()))
lineInput = lambda : map(int, input().strip().split())
sJoin = lambda a, sep: f'{sep}'.join(a)
arrJoin = lambda a, sep: f'{sep}'.join(map(str, a))

def isPrime(n):
	if n <= 1:
		return False
	if n <= 3:
		return True
	if n % 2 == 0 or n % 3 == 0:
		return False
	for i in range(5, int(math.sqrt(n) + 1), 6):
		if n % i == 0 or n % (i + 2) == 0:
			return False
	return True

def main():
	(w, h) = lineInput()
	arr = [list(input().strip()) for i in range(h)]
	for i in range(w):
		s = ''
		for j in range(h):
			s += arr[j][i] * 2
		else:
			print(s)
			print(s)
main()


(w, h) = map(int, input().split())
arr = [list(input()) for i in range(h)]
rotated_and_mirrored = [[arr[i][j] for i in range(h)] for j in range(w)]
ans = [['' for i in range(2 * h)] for j in range(2 * w)]
for i in range(w):
	for j in range(h):
		for dx in range(2):
			for dy in range(2):
				ans[2 * i + dx][2 * j + dy] = rotated_and_mirrored[i][j]
print('\n'.join(map(lambda x: ''.join(x), ans)))


__author__ = 'ruckus'
(x, y) = map(int, input().split())
a = []
for i in range(y):
	a.append(input())
for i in range(x):
	for k in range(2):
		for j in range(y):
			print(a[j][i], end='')
			print(a[j][i], end='')
		print()


(n, m) = map(int, input().split())
a = []
for i in range(m):
	s = input()
	a.append(s)
a.reverse()
b = []
for i in range(n):
	s = ''
	for j in range(m):
		s += a[j][i]
	b.append(s)
for i in b:
	val = i[::-1]
	for j in val:
		print(j * 2, end='')
	print()
	for j in val:
		print(j * 2, end='')
	print()


(w, h) = map(int, input().split())
l = []
for i in range(h):
	s = input()
	l.append(s)
for i in range(w):
	s = ''
	for j in range(h - 1, -1, -1):
		s += l[j][i] * 2
	s = s[::-1]
	print(s)
	print(s)


(w, h) = [int(i) for i in input().split()]
a = []
for i in range(h):
	a.append([])
	a[i] = [q for q in input().strip()]
for i in range(w):
	now_str = ''
	for q in range(h):
		now_str += a[q][i] * 2
	print(now_str)
	print(now_str)


import sys

def main():
	(w, h) = [int(i) for i in input().split()]
	p = []
	for i in range(h):
		s = input()
		p.append(s)
	p = zip(*p)
	for s in p:
		result = ''
		for ch in s:
			result += ch + ch
		print(result)
		print(result)
main()


(w, h) = map(int, input().split())
a = []
for i in range(h):
	a.append(list(input()))
b = []
for i in range(w):
	b.append([a[j][i] for j in range(h)])
for i in range(w):
	b[i] == b[i][::-1]
out = ''
for i in range(w):
	t = ''
	for j in range(h):
		t += b[i][j] + b[i][j]
	out += t + '\n' + t + '\n'
print(out[:-1])


(w, h) = map(int, input().split())
l = [[] for _ in range(w)]
for _ in range(h):
	ip = input()
	for i in range(w):
		l[i].append(ip[i])
ans = []
for i in range(w):
	target = l[i]
	etc = []
	for j in target:
		etc.append(j * 2)
	ans.append(etc)
	ans.append(etc)
for i in ans:
	print(*i, sep='')


s = input()
w = int(s.split()[0])
h = int(s.split()[1])
L = []
L2 = []
s2 = ''
for i in range(h):
	L.append(input())
for i in range(w):
	for k in range(h - 1, -1, -1):
		s2 = s2 + L[k][i]
	L2.append(s2)
	s2 = ''
L3 = []
s3 = ''
for i in range(w):
	for k in range(h - 1, -1, -1):
		s3 = s3 + L2[i][k]
	L3.append(s3)
	s3 = ''
L4 = []
for i in range(w):
	for k in range(h):
		s3 = s3 + L3[i][k] * 2
	L4.append(s3)
	L4.append(s3)
	s3 = ''
w2 = w * 2
for i in range(w2):
	print(L4[i])


(w, h) = map(int, input().split())
a = []
for i in range(h):
	a.append(list(input()))
b = [[0 for j in range(h)] for i in range(w)]
for i in range(h):
	for j in range(w):
		b[j][i] = a[i][j]
for i in range(w):
	x = ''
	for j in range(h):
		x = x + b[i][j] + b[i][j]
	print(x)
	print(x)


(w, h) = map(lambda s: int(s), input().split())
img = []
tmp = []
cols = []
for i in range(0, h):
	img.append(list(input()))
for i in range(0, w):
	line = str()
	for j in range(0, h):
		val = img[j][i]
		line = line + val + val
	print(line)
	print(line)


inp = str(input()).split(' ')
(w, h) = (int(inp[0]), int(inp[1]))
image = []
for x in range(h):
	row = str(input())
	image.append([x for x in row])

def turn90():
	turned = []
	for x in range(w):
		row = []
		for y in range(h):
			row.append(image[y][x])
		turned.append(row)
	return turned
image = turn90()

def mirror():
	mirroed = []
	for row in image:
		row.reverse()
		mirroed.append(row)
	return mirroed

def multiply():
	multi = []
	for row in image:
		multi.append(''.join([y * 2 for y in row]))
		multi.append(''.join([y * 2 for y in row]))
	for row in multi:
		print(''.join(row))
multiply()


(w, h) = map(int, input().split())
a = [input().strip() for _ in range(h)]
a = list(zip(*a[::-1]))
a = a[::-1]
a = list(zip(*a[::-1]))
a = list(zip(*a[::-1]))
for i in a:
	for _ in range(2):
		for j in i:
			print(j * 2, end='')
		print()


(m, n) = map(int, input().split(' '))
lis = []
for x in range(n):
	str1 = input()
	lis.append(str1)
for x in range(2 * m):
	for y in range(2 * n):
		print(lis[y // 2][x // 2], end='')
	print('')


def rotate(p, w, h):
	rot = [[] for i in range(w)]
	for i in range(w):
		for j in range(h):
			rot[i].append(p[j][i])
		rot[i] = list(reversed(rot[i]))
	return rot

def double():
	global mas, r
	p = 0
	for i in range(h):
		s = ''
		for j in r[i]:
			s += j * 2
		mas[p] = s
		mas[p + 1] = s
		p += 2

def reverse():
	global r
	for i in range(h):
		r[i] = list(reversed(r[i]))
(w, h) = map(int, input().split())
p = [[] for i in range(h)]
for i in range(h):
	s = input()
	for j in range(w):
		p[i].append(s[j])
r = rotate(p, w, h)
(h, w) = (w, h)
reverse()
mas = [['.' for i in range(w * 2)] for i in range(h * 2)]
double()
for i in range(h * 2):
	print(*mas[i], sep='')


ar1 = []
(n, m) = map(int, input().split())
ar = []
for i in range(m):
	s1 = []
	s = input().rstrip()
	for j in range(n):
		s1.append(s[j])
	ar.append(s1)
ark = []
for i in range(m):
	ark.append(ar[m - i - 1])
ar = ark[:]
for i in range(n):
	s = []
	for j in range(m - 1, -1, -1):
		s.append(ar[j][i])
	ar1.append(s)
for i in range(n):
	for j in ar1[i]:
		print(j * 2, end='')
	print()
	for j in ar1[i]:
		print(j * 2, end='')
	print()


(w, h) = map(int, input().split())
arr = [[] for i in range(h)]
for i in range(h):
	for j in input():
		arr[i].append(j)
arr2 = [['' for j in range(h)] for i in range(w)]
for i in range(h):
	for j in range(w):
		arr2[j][h - 1 - i] = arr[i][j]
for i in range(h // 2):
	for j in range(w):
		(arr2[j][i], arr2[j][h - i - 1]) = (arr2[j][h - i - 1], arr2[j][i])
arr3 = [['' for j in range(2 * h)] for i in range(2 * w)]
for i in range(2 * w):
	for j in range(2 * h):
		arr3[i][j] = arr2[i // 2][j // 2]
for i in range(2 * w):
	for j in range(2 * h):
		print(arr3[i][j], end='')
	print()


(n, m) = map(int, input().split(' '))
a = ['' for i in range(m)]
for i in range(m):
	a[i] = input()

def printImage(table):
	for s in table:
		ans = ''
		for c in s:
			ans += c * 2
		print(ans)
		print(ans)
b = []
for i in range(n):
	ans = ''
	for s in a:
		ans += s[i]
	b.append(ans)
printImage(b)


(w, h) = map(int, input().split())
s = []
for i in range(h):
	s.append(input())
a = []
for i in range(w):
	a.append([0] * h)
for i in range(h):
	for j in range(w):
		a[j][i] = s[i][j]
for i in range(w):
	st = ''
	for c in a[i]:
		st += c * 2
	print(st)
	print(st)


import sys
(w, h) = map(int, sys.stdin.readline().split())
grid = []
for i in range(h):
	grid.append(sys.stdin.readline().strip())
for j in range(w):
	res = []
	for i in range(h):
		res.append(grid[i][j] * 2)
	sys.stdout.write(''.join(res) + '\n')
	sys.stdout.write(''.join(res) + '\n')


(w, h) = [int(x) for x in input().split()]
ori = []
for i in range(h):
	l = list(input())
	ori.append(l)
ro = []
for i in range(w):
	l = []
	for j in range(h):
		l.append(ori[j][i])
	ro.append(l)
du1 = []
for i in range(w):
	l = []
	for j in range(0, 2 * h):
		l.append(ro[i][int(j / 2)])
	du1.append(l)
du2 = []
for i in range(0, 2 * w):
	du2.append(du1[int(i / 2)])
for i in range(len(du2)):
	print(''.join(du2[i]))


def povorot(a, b):
	for i in range(m + 1):
		for j in range(n + 1):
			b[j][i] = a[i][j]

def otr(b, c):
	for i in range(1, m + 1):
		for j in range(1, n + 1):
			c[j - 1][i - 1] = b[j][i]

def mashtab(c, d, e):
	r = 0
	for i in range(n):
		tmp = ''.join(c[i])
		for j in range(len(tmp)):
			d[r][j] = tmp[j]
			d[r + 1][j] = tmp[j]
		r = r + 2
	r = 0
	for i in range(m):
		for j in range(2 * n):
			e[j][r] = d[j][i]
			e[j][r + 1] = d[j][i]
		r = r + 2
(n, m) = map(int, input().split())
a = [[0] * (n + 1) for i in range(m + 1)]
for i in range(1, m + 1):
	tmp = input()
	tmp.rstrip()
	for j in range(len(tmp)):
		a[i][j + 1] = tmp[j]
b = [[0] * (m + 1) for i in range(n + 1)]
povorot(a, b)
c = [[0] * m for i in range(n)]
otr(b, c)
d = [[0] * (2 * m) for i in range(2 * n)]
e = [[0] * (2 * m) for i in range(2 * n)]
mashtab(c, d, e)
for i in range(len(e)):
	for j in range(len(e[i])):
		print(e[i][j], end='')
	print()


import sys
(w, h) = map(int, sys.stdin.readline().split())
izn = [''] * h
for i in range(h):
	izn[i] = input()
nov = [''] * w
for i in range(0, w):
	for j in range(h - 1, -1, -1):
		nov[i] += izn[j][i]
	nov[i] = nov[i][::-1]
	g = ''
	for j in range(h):
		g += nov[i][j] * 2
	for i in range(2):
		print(g)


(w, h) = input().split()
w = int(w)
h = int(h)
a = list()
for i in range(h):
	row = input()
	a.append(row)
b = [['0' for i in range(h)] for j in range(w)]
for i in range(h):
	for j in range(w):
		b[j][i] = a[i][j]
s = str()
c = list()
for j in range(w):
	for i in range(h):
		s = s + b[j][i] + b[j][i]
	c.append(s)
	s = ''
for i in range(w):
	print(c[i])
	print(c[i])


(n, m) = map(int, input().split())
array = []
array1 = []
array2 = []
for i in range(m):
	s = input()
	array += [s]
for j in range(n):
	s = ''
	for i in range(m):
		s += array[i][j]
	array1 += [s]
	array2 += [s]
q = len(array1)
array = []
for i in range(q):
	array += [array1[i]]
	array += [array2[i]]
array1 = []
for i in range(2 * n):
	s = ''
	for j in range(m):
		s += array[i][j]
		s += array[i][j]
	array1 += [s]
for i in range(len(array)):
	print(array1[i])


def rot(x):
	matrix = [[0] * h for i in range(w)]
	for i in range(w):
		for j in range(h):
			matrix[i][j] = x[h - 1 - j][i]
	return matrix

def mir(x):
	matrix = [[0] * h for i in range(w)]
	for i in range(w):
		for j in range(h):
			matrix[i][j] = x[i][h - j - 1]
	return matrix

def scale(x):
	matrix = [[0] * 2 * h for i in range(w * 2)]
	for i in range(2 * w):
		for j in range(2 * h):
			matrix[i][j] = x[i // 2][j // 2]
	return matrix
(w, h) = map(int, input().split())
x = []
for i in range(h):
	x.append(list(input()))
x = scale(mir(rot(x)))
for i in x:
	print(''.join(i))


(w, h) = list(map(int, input().split()))
first_matr = list()
second_matr = [' '] * w
for i in range(w):
	second_matr[i] = [' '] * h
third_matr = [' '] * 2 * w
for i in range(2 * w):
	third_matr[i] = [' '] * 2 * h
for i in range(h):
	s = input()
	first_matr.append([])
	for j in s:
		first_matr[i].append(j)
for i in range(w):
	for j in range(h):
		second_matr[i][j] = first_matr[j][i]
for i in range(w):
	for j in range(h):
		third_matr[2 * i][2 * j] = third_matr[2 * i + 1][2 * j] = third_matr[2 * i][2 * j + 1] = third_matr[2 * i + 1][2 * j + 1] = second_matr[i][j]
for k in third_matr:
	for j in k:
		print(j, end='')
	print()


[w, h] = [int(x) for x in input().split()]
matrix_photo = [[x for x in input()] for y in range(h)]

def print_matrix(matrix):
	for row in matrix:
		print(''.join(row))

def rotate(matrix):
	h = len(matrix)
	w = len(matrix[0])
	result = []
	for i in range(w):
		column = [matrix[j][i] for j in range(h)]
		result.append(column)
	return result
rotated = rotate(matrix_photo)

def flip(matrix):
	h = len(matrix)
	w = len(matrix[0])
	result = []
	for i in range(h):
		row = matrix[i]
		new_row = row[::-1]
		result.append(new_row)
	return result
fliped = flip(rotated)

def zoom(matrix):
	h = len(matrix)
	w = len(matrix[0])
	result = []
	for row in matrix:
		new_row = []
		for i in range(w):
			new_row.append(row[i])
			new_row.append(row[i])
		result.append(new_row)
		result.append(new_row)
	return result
zoomed = zoom(fliped)
final = flip(zoomed)
print_matrix(final)


(w, h) = map(int, input().split())
a = []
for i in range(h):
	a.append(input())
a = [''.join((a[j][i] for j in range(h))) for i in range(w)]
for row in a:
	ls = []
	for c in row:
		ls.extend((c, c))
	s = ''.join(ls)
	print(s, s, sep='\n')


import sys

def main():
	(w, h) = [int(i) for i in input().split()]
	p = []
	for i in range(h):
		s = input()
		p.append(s)
	for i in range(w):
		for j in range(h):
			print(p[j][i] + p[j][i], end='')
		print()
		for j in range(h):
			print(p[j][i] + p[j][i], end='')
		print()
main()


n = input().split()
old = []
new = []
for i in range(int(n[1])):
	old.append(list(input()))
for i in range(int(n[0])):
	new.append([])
	for j in range(int(n[1])):
		new[-1].append(old[j][i])
		new[-1].append(old[j][i])
	new.append(new[-1])
for i in new:
	print(''.join(i))


s = input()
w = ''
h = ''
b = True
s = list(s)
for f in s:
	if not b:
		h += f
	if f != ' ' and b:
		w += f
	else:
		b = False
w = int(w)
h = int(h)
simbolos = []
for e in range(0, h):
	simbolos.append([])
	caracteres = input()
	for n in caracteres:
		simbolos[e].append(n)
simbolos2 = []
for e in range(0, w):
	simbolos2.append([])
	for i in range(0, h):
		simbolos2[e].append(i)
j = h - 1
for x in range(0, h):
	for y in range(0, w):
		simbolos2[y].pop(j)
		simbolos2[y].insert(j, simbolos[x][y])
	j -= 1
simbolos3 = []
for e in simbolos2:
	e.reverse()
	simbolos3.append(e)
for e in simbolos3:
	letras = ''
	for i in e:
		letras += str(i) * 2
	print(letras)
	print(letras)


def main():
	(w, h) = map(int, input().split())
	h *= 2
	l = [None] * h
	for i in range(0, h, 2):
		l[i] = l[i + 1] = input()
	l = [''.join(_) for _ in zip(*l)]
	for s in l:
		print(s)
		print(s)
main()


[w, h] = [int(x) for x in input().split()]
image = []
for i in range(h):
	image.append(input())
for x in range(w * 2):
	for y in range(h * 2):
		final_x = int(y / 2)
		final_y = int(x / 2)
		final_x = h - final_x - 1
		temp_y = final_y
		temp_x = final_x
		final_x = temp_y
		final_y = h - temp_x - 1
		print(image[final_y][final_x], end='')
	print('')


(w, h) = map(int, input().split())
l = [''] * h
for i in range(h):
	l[i] = input()
n = [''] * w
for i in range(0, w):
	for x in range(h - 1, -1, -1):
		n[i] += l[x][i]
	n[i] = n[i][::-1]
	f = ''
	for z in range(h):
		f += n[i][z] * 2
	print(f)
	print(f)


(w, h) = [int(i) for i in input().split()]
pic = [list(input()) for i in range(h)]
pic1 = [[None] * h for i in range(w)]
for i in range(h):
	for j in range(w):
		pic1[j][i] = pic[i][j]
pic3 = [[None] * 2 * h for i in range(2 * w)]
for i in range(w):
	for j in range(h):
		pic3[2 * i][2 * j] = pic1[i][j]
		pic3[2 * i + 1][2 * j] = pic1[i][j]
		pic3[2 * i][2 * j + 1] = pic1[i][j]
		pic3[2 * i + 1][2 * j + 1] = pic1[i][j]
for i in range(2 * w):
	for j in range(2 * h):
		print(pic3[i][j], end='')
	print()


(w, h) = input().split()
(w, h) = (int(w), int(h))
S = []
for i in range(0, h):
	ts = input()
	S += [ts]
for i in range(0, 2 * w):
	idxi = i // 2
	tans = ''
	for j in range(0, 2 * h):
		idxj = j // 2
		tans += S[idxj][idxi]
	print(tans)


def transpose(a):
	(h, w) = (len(a), len(a[0]))
	b = [[0 for j in range(h)] for i in range(w)]
	for i in range(h):
		for j in range(w):
			b[j][i] = a[i][j]
	return b

def read_field(lines_raw):
	lines = list(filter(lambda x: len(x) > 0, map(lambda y: y.strip(), lines_raw)))
	return [list(x) for x in lines]

def magnify(a, factor=2):
	(h, w) = (len(a), len(a[0]))
	b = [['#' for j in range(factor * w)] for i in range(factor * h)]
	for i in range(h):
		for j in range(w):
			for dx in range(factor):
				for dy in range(factor):
					b[factor * i + dx][factor * j + dy] = a[i][j]
	return b

def dump(a):
	return '\n'.join((''.join((x for x in row)) for row in a))
(a, b) = input().split()
lines = []
for _ in range(int(b)):
	lines.append(input())
print(dump(magnify(transpose(read_field(lines)))))


(w, h) = map(int, input().split())
help = [input() for i in range(h)]
data = [[None for i in range(h)] for j in range(w)]
for i in range(w):
	for j in range(h):
		data[i][j] = help[j][i]
for i in range(w):
	a = ''
	for j in range(len(data[i])):
		a += 2 * data[i][j]
	print(a)
	print(a)


(w, h) = [int(x) for x in input().split(' ')]
img = []
for i in range(h):
	img.append([c for c in input()])
for j in range(w):
	row = []
	for i in range(h):
		row.append(img[i][j])
		row.append(img[i][j])
	print(*row, sep='', end='\n')
	print(*row, sep='', end='\n')


(w, h) = [int(s) for s in input().split()]
mas = [[' '] * 100 for i in range(100)]
for i in range(h):
	j = 0
	for ch in input():
		mas[j][i] = ch
		j += 1
for i in range(w):
	s = ''
	for j in range(h):
		s += mas[i][j] * 2
	print(s)
	print(s)


(W, H) = map(int, input().split())
mat = [input() for i in range(H)]
for i in range(2 * W):
	print(''.join((mat[j // 2][i // 2] for j in range(2 * H))))


size = input().split()
w = int(size[0])
h = int(size[1])
image = []
for i in range(h):
	row = []
	for c in input():
		row.append(c)
	image.append(row)
for i in range(w):
	row = []
	for k in range(h):
		row.append(image[k][i] * 2)
	str_row = ''.join(row)
	print(str_row)
	print(str_row)


class Image(object):

	def __init__(self, width, height, stringImage):
		self._width = width
		self._height = height
		self._stringImage = stringImage
		self._pixelMatrix = [[]]
		line = 0
		for i in self._stringImage:
			if i == '\n':
				self._pixelMatrix.append([])
				line += 1
			else:
				self._pixelMatrix[line].append(i)

	def __str__(self):
		resultedString = ''
		for line in self._pixelMatrix:
			for j in line:
				resultedString += j
			resultedString += '\n'
		return resultedString[:-1]

	def rotate90right(self):
		newPixelMatrix = []
		for i in range(self._width):
			newPixelMatrix.append([])
			for j in range(self._height):
				newPixelMatrix[i].append('.')
		for i in range(self._height):
			for j in range(self._width):
				newPixelMatrix[j][self._height - 1 - i] = self._pixelMatrix[i][j]
		self._pixelMatrix = newPixelMatrix
		temp = self._height
		self._height = self._width
		self._width = temp

	def mirrorGorizont(self):
		newPixelMatrix = []
		for i in range(self._height):
			newPixelMatrix.append([])
			for j in range(self._width):
				newPixelMatrix[i].append('.')
		for i in range(self._height):
			for j in range(self._width):
				newPixelMatrix[i][self._width - 1 - j] = self._pixelMatrix[i][j]
		self._pixelMatrix = newPixelMatrix

	def doubleTheSize(self):
		newPixelMatrix = []
		for i in range(self._height * 2):
			newPixelMatrix.append([])
			for j in range(self._width * 2):
				newPixelMatrix[i].append('.')
		for i in range(self._height):
			for j in range(self._width):
				newPixelMatrix[i * 2][j * 2] = self._pixelMatrix[i][j]
				newPixelMatrix[i * 2][j * 2 + 1] = self._pixelMatrix[i][j]
				newPixelMatrix[i * 2 + 1][j * 2] = self._pixelMatrix[i][j]
				newPixelMatrix[i * 2 + 1][j * 2 + 1] = self._pixelMatrix[i][j]
		self._pixelMatrix = newPixelMatrix
		self._height *= 2
		self._width *= 2
inputString = input()
listOfInput = inputString.split()
width = -1
height = -1
for i in listOfInput:
	if i.isdigit() and width == -1:
		width = int(i)
	elif i.isdigit():
		height = int(i)
image = input()
for i in range(height - 1):
	image += '\n'
	image += input()
a = Image(width, height, image)
a.doubleTheSize()
a.rotate90right()
a.mirrorGorizont()
print(a)