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).
n = int(input())
W = []
for i in range(0, n):
    s = input().split(' ')
    w = list(map(int, s))
    W.append(w)
a = []
b = []
A = []
B = []
i = 0
#while (i < n - 1):
#    for j in range(i+1, n):
#        a.append((W[i][j]+W[j][i])/2)
#        b.append((W[i][j]-W[j][i])/2)
#    i += 1
while (i < n):
    for j in range(0, n):
        if i == j:
            a.append(W[i][j])
            b.append(0)
        elif i < j:
            a.append((W[i][j]+W[j][i])/2)
            b.append((W[i][j]-W[j][i])/2)
        else:
            a.append((W[j][i] + W[i][j]) / 2)
            b.append((W[i][j] - W[j][i]) / 2)
    i += 1
#for i in range(0 , n):
#    A.append([W[i][i]])
#    B.append([0])
s = []
for i in range(0, len(a)):
    if (i + 1) % n == 0:
        s.append(a[i])
        print(*s, sep=' ')
        s = []
    else:
        s.append(a[i])
s = []
for i in range(0, len(b)):
    if (i + 1) % n == 0:
        s.append(b[i])
        print(*s, sep=' ')
        s = []
    else:
        s.append(b[i])
