#abc137f. [abc137_f]Polynomial Construction

[abc137_f]Polynomial Construction

問題文

素数 pp と、長さ pp0011 からなる整数列 a0,ldots,ap1a_0, \\ldots, a_{p-1} が与えられます。

以下の条件を満たす p1p-1 次以下の多項式 $f(x) = b_{p-1} x^{p-1} + b_{p-2} x^{p-2} + \\ldots + b_0$ を一つ求めてください。

  • ii (0leqileqp1)(0 \\leq i \\leq p-1) に対し、bib_i0leqbileqp10 \\leq b_i \\leq p-1 なる整数
  • ii (0leqileqp1)(0 \\leq i \\leq p-1) に対し、f(i)equivaipmodpf(i) \\equiv a_i \\pmod p

制約

  • 2leqpleq29992 \\leq p \\leq 2999
  • pp は素数である。
  • 0leqaileq10 \\leq a_i \\leq 1

入力

入力は以下の形式で標準入力から与えられる。

pp a0a_0 a1a_1 ldots\\ldots ap1a_{p-1}

出力

条件を満たす多項式 f(x)f(x) の一つにおける b0,b1,ldots,bp1b_0, b_1, \\ldots, b_{p-1} の値をこの順に空白区切りで出力せよ。

なお、解は必ず存在することが示せる。複数の解が存在する場合は、そのうちのどれを出力してもよい。


入力例 1

2
1 0

出力例 1

1 1

f(x)=x+1f(x) = x + 1 は以下のように条件を満たします。

  • f(0)=0+1=1equiv1pmod2f(0) = 0 + 1 = 1 \\equiv 1 \\pmod 2
  • f(1)=1+1=2equiv0pmod2f(1) = 1 + 1 = 2 \\equiv 0 \\pmod 2

入力例 2

3
0 0 0

出力例 2

0 0 0

f(x)=0f(x) = 0 も有効な出力です。


入力例 3

5
0 1 0 1 0

出力例 3

0 2 0 1 3