REPEATS - Repeats

题意翻译

给定字符串,求重复次数最多的连续重复子串

题目描述

A string s is called an (k,l)-repeat if s is obtained by concatenating k>=1 times some seed string t with length l>=1. For example, the string s = abaabaabaaba is a (4,3)-repeat with t = aba as its seed string. That is, the seed string t is 3 characters long, and the whole string s is obtained by repeating t 4 times. Write a program for the following task: Your program is given a long string u consisting of characters ‘a’ and/or ‘b’ as input. Your program must find some (k,l)-repeat that occurs as substring within u with k as large as possible. For example, the input string u = babbabaabaabaabab contains the underlined (4,3)-repeat s starting at position 5. Since u contains no other contiguous substring with more than 4 repeats, your program must output the maximum k.

输入输出格式

输入格式


In the first line of the input contains H- the number of test cases (H <= 20). H test cases follow. First line of each test cases is n - length of the input string (n <= 50000), The next n lines contain the input string, one character (either ‘a’ or ‘b’) per line, in order.

输出格式


For each test cases, you should write exactly one interger k in a line - the repeat count that is maximized.

输入输出样例

输入样例 #1

1
17
b
a
b
b
a
b
a
a
b
a
a
b
a
a
b
a
b

输出样例 #1

4