def func():
t = int(input())
for i in range(t):
n = int(input())
s = input()
sset = set(s)
if len(s) == 2 and s[0] != s[1]:
print(-1)
continue
elif len(sset) == len(s) and len(s) != 2:
print(-1)
continue
sdict = {}
overall_mindist = float("inf") # 初始化为无穷大
sdouble = s + s
for j in sset:
for k in range(len(s)*2):
if j == sdouble[k]:
if j not in sdict:
sdict[j] = [k]
else:
sdict[j].append(k)
# print(f"{j} : {sdict[j]}")
if len(sdict[j]) < 2:
continue
else:
mindist = min(
sdict[j][index + 1] - sdict[j][index]
for index in range(len(sdict[j]) - 1)
)
# print(mindist)
if mindist < overall_mindist:
overall_mindist = mindist
if overall_mindist != float("inf"):
print(overall_mindist-1)
if __name__ == "__main__":
func()