F.A.Q
Hand In Hand
Online Acmers
Problem Archive
Realtime Judge Status
Authors Ranklist
 
     C/C++/Java Exams     
ACM Steps
Go to Job
Contest LiveCast
ICPC@China
Best Coder beta
VIP | STD Contests
    DIY | Web-DIY beta
Author ID 
Password 
 Register new ID

Find the Period

Time Limit: 8000/4000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others)
Total Submission(s): 372    Accepted Submission(s): 52


Problem Description
For a string $S = s_{1}s_{2}\cdots s_{N}$, the period of S is defined as the smallest positive integer p <= N, such that si+p = si holds for all 1 <= i <= N ¨C p. Now given two integers L and R (1 <= L <= R <= N), you are asked to find out the period of $s_{L}s_{L+1}\cdots s_{R}$.
 

Input
The input begins with an integer T (T <= 20), indicating the number of test case. The first line of each case contains a string S, which consists of N (1 <= N <= 100000) lowercase English letters. The second line contains an integer Q (1 <= N <= 100000), indicating the number of queries. The following Q lines each contain two integers L and R (1 <= L <= R <= N).

The total length of all the strings is not larger than 500000, and the total number of queries is not larger than 200000.
 

Output
For each case, output "Case #X:" in a line where X is the case number, staring from 1. Then for each query, output the answer in a line.
 

Sample Input
2 aaabaa 3 1 3 1 4 2 5 abcabcabc 1 1 9
 

Sample Output
Case #1: 1 4 3 Case #2: 3
 

Author
SYSU
 

Source
 

Statistic | Submit | Discuss | Note
Hangzhou Dianzi University Online Judge 3.0
Copyright © 2005-2024 HDU ACM Team. All Rights Reserved.
Designer & Developer : Wang Rongtao LinLe GaoJie GanLu
Total 0.000000(s) query 1, Server time : 2024-05-18 15:45:46, Gzip enabled