import collections,sys,math,functools,operator,itertools,bisect,heapq,decimal,string,time,random
#sys.setrecursionlimit(10**9)
#sys.set_int_max_str_digits(0)
#input = sys.stdin.readline
n = int(input())
a = list(map(int,input().split()))
#alist = []
#s = input()
#n,m = map(int,input().split())
#for i in range(n):
#    alist.append(list(map(int,input().split())))
b = [0 for i in range(n+1)]
for i in range(n+1):
    j = n-i
    for k in range(j+1):
        
        b[~k] += a[i] * (-1)**(j-k) * math.comb(j,k)
print(*b)