#7043. 验证公式

验证公式

题目背景

我们知道

12+22+32++n2=16(2n3+3n2+n)1^2+2^2+3^2+\cdots+n^2=\frac{1}{6}(2n^3+3n^2+n)

还有

13+23+33++n3=14(n4+2n3+n2)1^3+2^3+3^3+\cdots+n^3=\frac{1}{4}(n^4+2n^3+n^2)

这些公式的结果都是一个多项式除以一个正整数,而这些公式对任何自然数都是成立的,说明这些多项式有特殊的性质。我们可以通过检查多项式是否永远是一个正整数的倍数来判断它是否有成为一个组合数学结论的资格。

题目描述

给定 一个多项式(不含常数项)

f(x)=anxn+an1xn1++a2x2+a1x1f(x)=a_nx^n+a_{n-1}x^{n-1}+\cdots+a_2x^2+a_1x^1

以及 mm,请判断对任何自然数 nnf(n)f(n) 是否永远可以被 mm 整除。

输入格式

第一行:两个正整数 nnmm; 第二行:nn 个整数表示 a1,a2,,ana_1,a_2,\cdots, a_n

输出格式

  • 如果输入的多项式永远是 mm 的倍数,输出 Yes
  • 否则,输出 No
3 6
1 3 2
Yes

样例解释 1

这就是平方和公式,注意系数是按照从小到大顺序给出的。

1 3
2
No

样例解释 2

多项式2x显然不可能永远是3的倍数

数据范围

  • 对于 50%50\% 的数据,1n91\leq n\leq 91m1001\leq m\leq 1009ai9-9\leq a_i\leq 9
  • 对于 100%100\% 的数据,1n10001\leq n\leq 10001m10001\leq m\leq 10001,000,000ai1,000,000-1,000,000\leq a_i\leq 1,000,000