406012 - 字符循环节

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

输入

第一行一个正整数n (n≤500 000),表示S的长度。 第二行n个小写英文字母,表示字符串S。 第三行一个正整数q (q≤2 000 000),表示询问个数。 下面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 秒
内存限制 128 MB
统计
上一题 下一题