Prefix

Time Limit: 4000ms
Memory Limit: 65536KB
This problem will be judged on HDU. Original ID: 5790
64-bit integer IO format: %I64d      Java class name: Main

Description

Alice gets N strings. Now she has Q questions to ask you. For each question, she wanna know how many different prefix strings between Lth and Rth strings. It's so easy right? So solve it!

Input

The input contains multiple test cases.

For each test case, the first line contains one integer $N(1\leq N\leq 100000)$. Then next N lines contain N strings and the total length of N strings is between 1 and 100000. The next line contains one integer $Q(1\leq Q\leq 100000)$. We define a specail integer Z=0. For each query, you get two integer L, R(0=<L,R<N). Then the query interval [L,R] is [min((Z+L)%N,(Z+R)%N)+1,max((Z+L)%N,(Z+R)%N)+1]. And Z change to the answer of this query.

Output

For each question, output the answer.

Sample Input

3
abc
aba
baa
3
0 2
0 1
1 1

Sample Output

7
6
3

Source

Language: 
Theme: 
Share Code? 

Powered by NB231 | Current Style: .