UOJ Logo 小司码 Online Judge

XSMOJ

第498题   最小循环节

Statistics

题目描述

给出一个由小写英文字母组成的字符串S,再给出q个询问,要求回答S某个子串的最短循环节。 如果字符串 B 是字符串 A 的循环节,那么 A 可以由 B 重复若干次得到。

输入格式

第一行一个正整数 n(n≤500000),表示 S 的长度。 第二行n个小写英文字母,表示字符串S 。 第三行一个正整数q(q≤2000000),表示询问次数。 下面 q 行每行两个正整数 a,b(1≤a≤b≤n),表示询问字符串 S的子串[a…b] 的最短循环节长度。

输出格式

依次输出 q 行正整数,第 i 行的正整数对应第 i 个询问的答案。

样例输入

8
aaabcabc
3
1 3
3 8
4 8

样例输出

1
3
5

数据规模与约定

1≤a≤b≤n≤5×10​0000

q≤20×1000000