密码破译

时间限制:40s      空间限制:128MB

题目描述

  某年某月某日,T64打开了某个无聊的密码网站。
  作为一个热衷于破译密码的SB,T64的IQ是非常高的,但是,一个人是无法在
一瞬间完成无数份密码的破译工作的(也许两瞬间),所以这个任务就交给你和
他共同来完成。
  一个密码对应一个字符串(仅包含小写英文字母),令这个串为S。你成功地
破解了这个密码串,当且仅当你找到了一个最短的T,使得S=T^K,即T重复K次。
密码S的关键值即为T的长度。
  这个网站的密码有一个特性,它是一个很长很长的母密码的一段,碰巧的是,你无意当中窃取到了这个密码串。作为一台十分负责的计算机,请帮助T64解
决这个问题。


输入格式

m+3行。第一行为正整数n,第二行为一个长为n的字符串s。第三行为一个正整数m,表示密码串的个数。第四至m+3行每行两个正整数L,R(L≤R),表示询问的密码串在母密码串中的位置。


输出格式

共m行。每一行一个正整数,表示对应密码串的关键值。


样例输入

6
aababa
3
1  3
1  2
2  6

样例输出

3
1   
5

   

提示

 20  x≤ 500000,y≤ 2000000 


题目来源

没有写明来源

Menuappsclose