#sjc001. 数border

数border

题目描述

在本题中,定义一个字符串 ssborderborderss 的一个ss 本身的子串 tt,满足 tt 既是 ss 的前缀,又是 ss 的后缀。borderborder 可以为空串。

定义一个字符串 ss 的前缀 xx 为字符串 s1s2...sx|s_1s_2...s_x|,本题字符串下标从1开始。

今天的 SusanSusan 想研究一下 borderborder

给定一个长度为 nn 的字符串 ss,共有 qq 次询问,每次询问给定两个正整数 xxyy,表示询问 ss 的前缀 xx 长度不超过 yy 的最长 borderborder 长度。

输入格式

第一行一个字符串。

第二行一个整数 qq 表示询问数

接下来 qq 行,每行两个整数 xxyy,表示一次询问

输出格式

qq 行,每行一个整数,表示询问答案。

样例 #1

样例输入 #1

aaabaaa
3
5 1
7 2
4 4

样例输出 #1

1
2
0

提示

对于50%的数据:

1n,q5×1031\le n,q\le 5\times{10}^3

对于80%的数据:

1n,q2×1051\le n,q\le 2\times{10}^5

对于100%的数据:

1n,q2×1061\le n,q\le 2\times{10}^6

1yxn1\le y\le x\le n

保证字符集为26个小写英文字母。

样例解释:

第一个询问的前缀是 aaabaaaababorderborder"","a""","a",长度不超过1的最长 borderborder"a""a"

第二个询问的前缀是 aaabaaaaaabaaaborderborder"","a","aa","aaa""","a","aa","aaa",长度不超过2的最长 borderborder"aa""aa"

第三个询问的前缀是 aaabaaabborderborder"""",长度不超过4的最长 borderborder""""