package main

import (
	"fmt"
)

func minDistence(str string) int {
	nStr := str + str
	m := make(map[rune][]int, len(str))
	for k, v := range nStr {
		if _, ok := m[v]; !ok {
			vSli := make([]int, 0, len(str))
			vSli = append(vSli, k)
			m[v] = vSli
		} else {
			m[v] = append(m[v], k)
		}
	}
	min := len(str)
	for _, v := range m {
		if len(v) < 2 {
			continue
		}
		for i := 0; i < len(v)-1; i++ {
			if v[i+1]-v[i] < min {
				min = v[i+1] - v[i]
			}
		}
	}
	if min >= len(str) {
		return -1
	}
	return min-1
}

func main() {
	var t int
	fmt.Scan(&t)
	for i := 0; i < t; i++ {
		var n int
		fmt.Scan(&n)
		var str string
		fmt.Scan(&str)
		fmt.Println(minDistence(str))
	}
}