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())
lst = [[int(x) for x in input().split()] for i in range(n)]
t = [[0] * n for y in range(n)]
for i in range(n):
    t[i][i], lst[i][i] = lst[i][i], 0
    for j in range(i + 1, n):
        t[j][i] = t[i][j] = d = (lst[i][j] + lst[j][i]) / 2
        lst[i][j] -= d
        lst[j][i] -= d
for i in t:
    print(' '.join(map(str, i)))
for i in lst:
    print(' '.join(map(str, i)))

