t = int(input())
for _ in range(t):
n = int(input())
s = input()
if len(set(s)) == n:#手串中没有相同的宝石,无法破环,返回-1
print(-1)
continue
dic = dict()
for i in range(n):#哈希表记录手环中每个宝石及其位置
dic[s[i]] = dic.setdefault(s[i], []) + [i]
minl = n
for v in dic.values():#寻找未知最近的两个相同宝石
if len(v) == 1:
continue
for i in range(len(v)):
if i == 0:#注意环路
if n - v[-1] + v[0] < minl:
minl = n - v[-1] + v[0]
else:
if v[i] - v[i - 1] < minl:
minl = v[i] - v[i - 1]
print(minl - 1)



京公网安备 11010502036488号