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()