题目描述
给定一个长度为 m 的 01 字符串 s=s0+s1+⋯+sm−1 和一个正整数 n ,定义一个数 x 是合法的,当且仅当,对于任意 ∀0≤i<m ,满足 [gcd(x+i,n)=1]=si (即若 si=1 则 gcd(x+i,n)=1 ,否则 gcd(x+i,n)=0 )。计算 [0,n−1] 中合法的数的数量,对 109+7 取模。
输入格式
输入的第一行包含一个 01 字符串,表示 s ,其中 m 为字符串 s 的输入长度。
输入的第二行包含一个正整数 n′ ,表示 n 的质因子数量。
接下来 n′ 行每行两个正整数 pi,qi ,表示 n 的质因子 pi 的幂次为 qi ,保证输入的 pi 互不相同,即 n=∏i=1n′piqi 。
输出格式
输出一行一个整数,表示合法的数的数量,对 109+7 取模的结果。
数据范围
对于 100% 的数据,保证 1≤n′≤2×106 ,1≤m≤40 ,1≤pi,qi≤109 ,保证 pi 为质数且互不相同。
| 测试点编号 |
m≤ |
特殊性质 |
| 1∼2 |
40 |
A |
| 3∼4 |
B |
| 5∼7 |
17 |
C |
| 8∼10 |
40 |
D |
| 11∼12 |
23 |
无 |
| 13∼14 |
29 |
| 15∼20 |
40 |
特殊性质 A:保证 1≤n≤2×106 。
特殊性质 B:保证 n′=1 。
特殊性质 C:保证 1≤n′≤100。
特殊性质 D:保证 pi 从 [2,109] 内的质数随机均匀选择。
样例输入
010
2
2 1
3 2
样例输出
6