#P3398. 「2020-2021 集训队作业」带加强和多项木

    ID: 1383 传统题 1000ms 256MiB 尝试: 0 已通过: 0 难度: (无) 上传者: 标签>组合计数Lucas 定理生成函数 / 母函数中国剩余定理20202021拉格朗日反演

「2020-2021 集训队作业」带加强和多项木

题目描述

带加强同学人如其名,喜欢加强各种计数题,尤其喜欢多项木。所谓多项木,就是“多项”+“木”,而“木”也有“树”之含义,也就是用多项式来数树。

带加强认为一颗有根树的稳定程度取决于这棵树的每个节点有几个孩子,于是他规定了一个正整数集合 DD,称一颗有根树是“铁”的,当且仅当对于这棵树的每一个非叶节点,设其有 xx 个孩子,那么 xDx\in D

带加强每次询问你一个 nn,请你回答他有多少颗 nn叶子的有根树是“铁”的,答案对 MM 取模。

输入格式

第一行输入三个正整数 T,K,MT, K, M,表示询问次数、集合中数的范围和模数。

接下来一行一个长为 K1K-101 串,串中(从 22 开始计数)第 xx 个数是 1 表示 xDx\in D,否则 xDx\notin D

接下来每行一个正整数 nn,表示询问的节点数量。

输出格式

输出 TT 行,按照询问顺序输出对应的答案。

5 2 47
1
1
2
3
4
5

1
1
2
5
14

10 15 50
11101010101101
1
2
3
4
5
10
100
10000
998244353
1145141919810

1
1
3
11
44
27
31
30
10
26

数据范围

对于 100%100\% 的数据范围,保证 1n1018,2K,M50,1T1001\le n\le 10^{18}, 2\le K, M\le 50, 1\le T\le 100

子任务 分值 nn\le T=T = 特殊限制 A 特殊限制 B
11 1010 100100 100100
22 44 10410^4 11 \checkmark
33 66
44 3030 101810^{18} 100100 \checkmark \checkmark
55 1515
66 1515 \checkmark
77 2020

特殊限制 A:MM 为质数

特殊限制 B:gcd(n,M)=1\gcd(n,M)=1