#L2053. 「HNOI2016」大数

「HNOI2016」大数

题目描述

小 B 有一个很大的数 SS,长度达到了 NN 位;这个数可以看成是一个串,它可能有前导 00,例如 00009312345。小 B 还有一个素数 PP

现在,小 B 提出了 MM 个询问,每个询问求 SS 的一个子串中有多少子串是 PP 的倍数(00 也是 PP 的倍数)。例如 SS0077 时,其子串 007 有六个子串:0, 0, 7, 00, 07, 007;显然 0077 的子串 077 的六个子串都是素数 77 的倍数。

输入格式

第一行一个整数:PP

第二行一个串:SS

第三行一个整数:MM

接下来 MM 行,每行两个整数 fr\text{fr}, to\text{to},表示对 SS 的子串 S[frto]S[\text{fr} \ldots \text {to}] 的一次询问。

注意:SS 的最左端的数字的位置序号为 11;例如 SS213567,则 S[1]S[1]2S[13]S[1 \ldots 3]213

输出格式

输出 MM 行,每行一个整数,第 ii 行是第 ii 个询问的答案。

样例

输入

11
121121
3
1 6
1 5
1 4

输出

5
3
2

第一个询问问的是整个串,满足条件的子串分别有:121121211211121121

数据范围与提示

对于所有的数据,N,M100000N,M \leq 100000PP 为素数。