#include <bits/stdc++.h>
using namespace std;
void minRange(long long int arr[], long long int n, long long int &ans) {
  long long int l = 0, r = n;
  long long int k;
  for (long long int i = 0; i < n - 1; i++) {
    unordered_set<long long int> s;
    long long int j;
    k = j - i + 1;
    for (j = i; j < n; j++) {
      s.insert(arr[j]);
      if (s.size() != (j - i + 1)) {
        ans = (j - i + 1);
        return;
      }
    }
  }
}
int main() {
  long long int t;
  cin >> t;
  while (t--) {
    long long int n;
    cin >> n;
    long long int arr[n], i, j;
    for (i = 0; i < n; i++) {
      cin >> arr[i];
    }
    if (n < 2)
      cout << -1 << endl;
    else {
      unordered_map<long long int, long long int> mp;
      long long int ans = INT_MAX - 1;
      long long int lastj = 0;
      for (i = 0; i < n; i++) {
        if (mp.find(arr[i]) != mp.end()) {
          mp[arr[i]]++;
          for (j = lastj; j < i; j++) {
            if (mp[arr[j]] > 1) {
              ans = min(ans, i - j + 1);
              mp.clear();
              mp[arr[i]]++;
              lastj = i;
              break;
            }
          }
        } else
          mp[arr[i]]++;
      }
      if (ans == INT_MAX - 1)
        cout << -1 << endl;
      else
        cout << ans << endl;
    }
  }
}
