import java.util.*;
public class solution{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int t = sc.nextInt();
        while(t>0){
            int n = sc.nextInt();
            HashMap<Integer,Vector> map = new HashMap<>();
            int min = Integer.MAX_VALUE;
            for(int i = 0;i<n;i++){
                int a = sc.nextInt();
                if(!map.containsKey(a)){
                    Vector<Integer> vec = new Vector<>();
                    vec.add(i);
                    map.put(a,vec);
                    continue;
                }
                Vector<Integer> ve = map.get(a);
                ve.add(i);
                map.replace(a,ve);
            }
            
            for(Map.Entry mapEle : map.entrySet()){
                int key = (int)mapEle.getKey();
                Vector v = map.get(key);
                if(v.size()>=2){
                    for(int i =0;i<v.size()-1;i++){
                        int a1 = (int)v.get(i);
                        int a2 = (int)v.get(i+1);
                        if(a2-a1 < min){
                            min = a2-a1;
                        }
                    }
                }
            }
            if(min==Integer.MAX_VALUE){
                System.out.println(-1);
            }
            else{
                System.out.println(min+1);
            }
            t--;
        }
    }
}