#744. 看黑板,回答问题

看黑板,回答问题

样例下载

题目描述

老师在黑板上随手写了一个整数 PP。小明惊奇地发现, PP 恰好是一个质数。

然后老师又随手写了一个仅由阿拉伯数字组成的字符串 SS。注意:SS 可能有若干个前导零。

现在,老师让小明回答 TT 个问题:

每个问题给出两个整数 L,RL, R,小明需要回答 S[L...R]S[L...R] 有多少个子串可以被 PP 整除?

注意:S[L...R]S[L...R] 表示字符串 SS 的第 LL 个至第 RR 个字符组成的字符串。字符串 SS 第一个字符下标为 11。所谓子串能被 PP 整除,是指该子串所表示的整数能被 PP 整除。

输入格式

第一行:包含一个整数 PP,数据保证 PP 是质数。

第二行:包含一个字符串 SS,数据保证 SS 仅包含阿拉伯数字。

第三行:包含一个整数:TT

接下来 TT 行,每行两个整数 L,RL,R

输出格式

TT 行,每个问题的答案占一行。

输入样例

3
0012
2
1 4
2 4

输出样例

6
3

样例解释

第一个问题:

S[1...4]S[1...4] = 0012, 满足条件的子串有 66 个,分别为:0, 0, 00, 12, 012, 0012

第二个问题:

S[2...4]S[2...4] = 012, 满足条件的子串有 33 个,分别为:0, 12, 012

数据范围

100%100\% 的数据,$1 ≤ |S|, T ≤ 2 × 10^5, 2 ≤ P ≤ 10^9, 1 ≤ L ≤ R ≤ |S|$。其中 S|S| 表示字符串 SS 包含的字符个数。