97 #lg3538. [POI 2012] OKR-A Horrible Poem可怕的诗

[POI 2012] OKR-A Horrible Poem可怕的诗

[AdditionalFile2696.zip](file://AdditionalFile2696.zip?type=additional_file)

#2696. 「POI2012 R2」可怕的诗 A Horrible Poem

标签: 传统 | 时间限制: 20000 ms | 内存限制: 128 MiB |

题目描述

译自 POI 2012 Stage 2. Day 2「Okropny wiersz」

给定由小写英文字母组成的字符串 SS,有 qq 个询问,每次询问给定 SS 的一个子串,求其最短循环节。

如果字符串 AA 可以由字符串 BB 重复若干次得到,则字符串 BB 是字符串 AA 的一个循环节。

输入格式

第一行一个正整数 n(n≤500 000)n (n \le 500\ 000),表示字符串 SS 的长度。

接下来一行 nn 个小写英文字母,表示字符串 SS.

接下来一行一个正整数 q(q≤2 000 000)q (q \le 2\ 000\ 000),表示询问个数。

接下来 qq 行每行两个正整数 a,b(1≤a≤b≤n)a,b (1 \le a \le b \le n),表示询问字符串 SS 从第 aa 个字母到第 bb 个字母组成的子串的最短循环节长度。

输出格式

输出 qq 行,每行一个正整数,表示询问的答案。

样例

输入

8
aaabcabc
3
1 3
3 8
4 8

输出

1
3
5