#abc137f. [abc137_f]Polynomial Construction

[abc137_f]Polynomial Construction

题目描述

给定一个质数 pp 和一个由 pp 个由零和一组成的整数序列 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_i 是一个整数,使得 0leqbileqp10 \\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