다항식 그리기

아직 제출이 없습니다시간 제한2초메모리 제한256 MB

문제

그래핑 계산기는 학생이 손을 거의 대지 않아도 함수를 화면에 그려 준다. 이런 계산기의 프로세서는 느리기 때문에 그리는 과정을 최대한 아껴 써야 한다. 이 문제에서는 다항식을 빠르게 그리는 방법을 구현한다.

차수가 nn인 다항식 p(x)=anxn++a1x+a0p(x) = a_n x^n + \dots + a_1 x + a_0을 정수점 x=0,1,,m1x = 0, 1, \dots, m-1mm개에서 그리려고 한다. 각 점마다 다항식을 그대로 계산하면 곱셈 mnmn번과 덧셈 mnmn번이 든다.

앞서 구한 값을 다시 쓰면 계산이 줄어든다. 예를 들어 p(x)=a1x+a0p(x) = a_1 x + a_0이고 p(i)p(i)를 이미 구했다면 p(i+1)=p(i)+a1p(i+1) = p(i) + a_1이므로 다음 값마다 덧셈 한 번이면 된다.

일반적으로 초기화를 마치고 나면 덧셈 nn번으로 p(i)p(i)에서 p(i+1)p(i+1)을 구할 수 있다. 상수 C0,C1,,CnC_0, C_1, \dots, C_n을 알맞게 정하면 아래 의사코드가 p(i)p(i)를 만들어 낸다.

p(0) = C_0; t_1 = C_1; ... t_n = C_n;
for i from 1 to m-1 do
     p(i)    = p(i-1)  + t_1;
     t_1     = t_1     + t_2;
     t_2     = t_2     + t_3;
              :
              :
     t_(n-1) = t_(n-1) + t_n;
end

p(x)=a1x+a0p(x) = a_1 x + a_0이면 C0=a0C_0 = a_0, C1=a1C_1 = a_1로 두면 된다.

i=0,,m1i = 0, \dots, m-1인 모든 ii에서 의사코드가 p(i)p(i)의 올바른 값을 내도록 하는 상수 C0,C1,,CnC_0, C_1, \dots, C_n을 구하라.

입력

입력은 한 줄이다. 첫 정수는 nn이고 1n61 \le n \le 6이다. 이어서 정수 계수 an,,a1,a0a_n, \dots, a_1, a_0n+1n+1개 주어진다. 모든 계수는 ai50|a_i| \le 50을 만족하고 an0a_n \neq 0이다.

출력

C0,C1,,CnC_0, C_1, \dots, C_n을 공백 하나로 구분해 한 줄에 출력한다.