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