Chubby Yang is studying linear equations right now. He came up with a nice problem. In the problem you are given an *n* × *n* matrix *W*, consisting of integers, and you should find two *n* × *n* matrices *A* and *B*, all the following conditions must hold: 
 -  *A*<sub class="lower-index">*ij*</sub> = *A*<sub class="lower-index">*ji*</sub>, for all *i*, *j* (1 ≤ *i*, *j* ≤ *n*); -  *B*<sub class="lower-index">*ij*</sub> =  - *B*<sub class="lower-index">*ji*</sub>, for all *i*, *j* (1 ≤ *i*, *j* ≤ *n*); -  *W*<sub class="lower-index">*ij*</sub> = *A*<sub class="lower-index">*ij*</sub> + *B*<sub class="lower-index">*ij*</sub>, for all *i*, *j* (1 ≤ *i*, *j* ≤ *n*). 
Can you solve the problem?
The first line contains an integer *n* (1 ≤ *n* ≤ 170). Each of the following *n* lines contains *n* integers. The *j*-th integer in the *i*-th line is *W*<sub class="lower-index">*ij*</sub> (0 ≤ |*W*<sub class="lower-index">*ij*</sub>| &lt; 1717).
def Add(string):
	l = string.split(".")
	s = l[1]
	if len(s)<8:
		s1 = "0"
		s1 = s1 * (8-len(s))
		s += s1
	elif len(s)>=8:
		s = s[:8]
	string = l[0] + "." +s
	return string
		
n = int(input())
li = []
for i in range(n):
	string = input()
	l = string.split()
	for j in range(len(l)):
		l[j] = int(l[j])
	li.append(l)

A = []
for i in range(n):
	l = [0]
	l = l*n
	A.append(l)
B = []
for i in range(n):
	l = [0]
	l = l*n
	B.append(l)
for i in range(n):
	A[i][i] = float(li[i][i])

for i in range(n):
	for j in range(0,i+1):
		if i!=j:
			k = li[j][i] - li[i][j]
			k = k/2
			A[j][i] = float(li[j][i]) - k
			A[i][j] = float(li[i][j]) + k
			B[j][i] = float(B[j][i]) + k
			B[i][j] = float(B[i][j]) - k
			
for i in range(n):
	for j in range(n):
		A[i][j] = Add(str(float(A[i][j])))
		B[i][j] = Add(str(float(B[i][j])))

for i in range(n):
	string = ""
	for j in range(n):
		string += A[i][j]+" "
	print(string)
for i in range(n):
	string = ""
	for j in range(n):
		string += B[i][j]+" "
	print(string)
		