import sys

def brokeWristband(n:int,lis:list):
    searched=set() #集合,用于记录已经反向查找过的字母
    minl = n
    if len(set(lis))==n:return -1 #无重复则返回-1
    for x in range(n):
        a = lis[x]
        if a not in searched:# 对每个字母,进行一次反向查找
            searched.add(a)
            for y in range(n-1,x,-1):
                b = lis[y]
                if a ==b:
                    minl = min(minl,n+x-y-1)
                    break

        for y in range(x+1,n): # 每次只找最近的字母
            b = lis[y]
            if a==b:
                minl = min(minl,y-x-1)
                break
    return minl


flag = True
n = input()
for line in sys.stdin:
    if flag:
        n = int(line)
        flag = False
    else:
        lis = list(line.strip())
        minl = brokeWristband(n,lis)
        print(minl)
        flag = True