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