#CF1950E. 近乎最短重复子串

近乎最短重复子串

E. 近乎最短重复子串

时间限制:每个测试用例 22内存限制:每个测试用例 256256 兆字节

给定一个长度为 nn、由小写拉丁字母构成的字符串 ss。 请找出最短的字符串长度 kk,满足:将该字符串复制若干次后首尾拼接,可以形成一个与 ss 长度相同的字符串,且新串与 ss 最多只有一个位置的字符不同。

形式化描述

求出最小的 kk,使得存在正整数 xx,满足:

c=k+k++kx 次c=\underbrace{k+k+\dots+k}_{x\text{ 次}}

字符串 sscc 长度相等,且满足 cisic_i\neq s_i 的下标 ii 的数量不超过 11(即存在 00 个或 11 个这样的位置)。


输入格式

第一行包含一个整数 tt1t1031\le t\le 10^3),表示测试用例的数量。

对于每个测试用例:

  1. 第一行包含一个整数 nn1n21051\le n\le 2\cdot 10^5),表示字符串 ss 的长度。
  2. 第二行包含一个由小写拉丁字母组成的字符串 ss

保证所有测试用例的 nn 之和不超过 21052\cdot 10^5


输出格式

对于每个测试用例,输出一行一个整数,表示满足条件的最短字符串长度 kk


示例

输入

5
4
abaa
4
abba
13
slavicgslavic
8
hshahaha
20
stormflamestornflame

输出

1
4
13
2
10

注释

在第一个测试用例中,可以选取 k=ak=\texttt{a}, 将其重复 44 次得到 c=aaaac=\texttt{aaaa},该串与 ss 仅在第 22 个位置字符不同。

在第二个测试用例中,无法选取长度为 1122kk。 可以选取 k=abbak=\texttt{abba},此时 ccss 完全相同。