P0552

binomial

binomial

对于给定的 nn 和 pp,求对于所有的 0≤i<p0\le i<p,满足 (nk) mod p=i\dbinom{n}{k}\bmod p=i 的 kk 的个数。

注:(nk)=n!k! (n−k)!\dbinom{n}{k}=\dfrac{n!}{k!\,(n-k)!}。

输入格式

仅一行,包含两个正整数 nn 和 pp。

输出格式

仅一行,为一个长度为 pp 的字符串 ss,其中 sis_i 表示满足 (nk) mod p=i\dbinom{n}{k}\bmod p=i 的 kk 的个数除以 2929 后的余数,sis_i 视为一个 2929 进制的数字。

样例输入

20 4

样例输出

D440

样例解释

当 n=20n=20、p=4p=4 时,(20k) mod 4\dbinom{20}{k}\bmod 4 随 k=0,1,…,20k=0,1,\dots,20 依次为

1,0,2,0,1,0,0,0,2,0,0,0,2,0,0,0,1,0,2,0,1,1, 0, 2, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 1, 0, 2, 0, 1,

其中余数为 00 的有 1313 个,余数为 11 的有 44 个,余数为 22 的有 44 个,余数为 33 的有 00 个。把 13,4,4,013, 4, 4, 0 依次写成 2929 进制数字(1313 记作 D)即得 D440。

数据范围

  • n<p10n<p^{10};
  • p=51061p=51061。

来源与许可

本题为「binomial」,题面与测试数据整理自 BZOJ 2629。

样例 1

输入

20 4

输出

D440