from random import randint from time import time start=time() n=int(input()) a=[list(map(int,input().split())) for _ in range(n)] a0=randint(0,10**8-1) mod=10**8 A=[a0] for i in range(n): A.append((a[-1][i]-A[-1])%mod) def score(A): gosa=0 d=A for i in range(n-2,0,-1): ndp=[] for j in range(i): ndp.append(d[j]+d[j-1]) g=abs(a[i][j]-ndp[-1]) gosa=max(gosa,min(g,mod-g)) return gosa best=score(A) ans=tuple(A) while time()-start<1.2: a0=randint(0,10**8-1) A=[a0] for i in range(n): A.append((a[-1][i]-A[-1]+randint(0,10))%mod) ss=score(A) if best>ss: best=ss ans=tuple(A) print(*ans)