来源 : 信息学奥赛一本通(提高篇)
描述

给出一个由小写英文字母组成的字符串 S,再给出 q个询问,要求回答 S某个子串的最短循环节。

如果字符串 B是字符串 A的循环节,那么 A可以由 B重复若干次得到。

输入
第一行一个正整数 n,表示 S的长度。
第二行 n个小写英文字母,表示字符串 S
第三行一个正整数 q,表示询问个数。
下面 q行每行两个正整数 a,b,表示询问字符串 S[a..b]的最短循环节长度。
输出
依次输出 q行正整数,第 i行的正整数对应第 i个询问的答案。
样例输入
8
aaabcabc
3
1 3
3 8
4 8
样例输出
1
3
5
提示
1≤a≤b≤n≤5×105, q≤2×106