小马哥的前后缀
题号:NC15498
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 128 M,其他语言256 M
64bit IO Format: %lld

题目描述

小马哥有一个字符串,这个字符串包含了n个小写字母。由于小马哥很无聊,现在他想找出这个字符串的一个前缀p和一个后缀s满足一下条件:
     p和s长度相等;
     p和s是cyclically equivalent(两个字符串是cyclically equivalent,就是其中一个字符串可以将它的某个后缀移到字符串开头之后变成第二个字符串,例如,是cyclically equivalent的,而就不是)
     p和s的长度都不超过n/2;
     p和s的长度最长;


输入描述:

输入第一行包含一个整数T,表示数据组数。
接下来每组数据两行,第一行包含一个整数表示字符串长度。
第二行包含n个小写字母。

输出描述:

每组数据输出一行,包含一个整数,表示题目描述的最长的p和s的长度。
示例1

输入

复制
1
15
ababbabababbaab

输出

复制
6