A Horrible Poem
题号:NC50316
时间限制:C/C++/Rust/Pascal 2秒,其他语言4秒
空间限制:C/C++/Rust/Pascal 128 M,其他语言256 M
64bit IO Format: %lld

题目描述

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

输入描述:

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

输出描述:

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

输入

复制
8
aaabcabc
3
1 3
3 8
4 8

输出

复制
1
3
5

备注: