#include <iostream>
#include <vector>
#include <string>
#include <unordered_map>
#include <climits>

using namespace std;

int main() {
    int T;
    cin >> T;
    cin.ignore(100, '\n'); // 清空输入缓冲区
    // cout << "T==" << T << endl;
    while (T--) {
        int n; cin>>n;
        cin.ignore(100, '\n'); // 清空输入缓冲区
        // cout << "n==" << n << endl;
        string s; cin>>s;
        cin.ignore(100, '\n'); // 清空输入缓冲区
        // cout << "string==" << s <<endl;
        int ans=-1;
        if (n==2 && s[0]!=s[1]) {
            cout << ans << endl;
            continue;
        }
        for (int i=0; i<n-1; i++) {
            if (i==0 && s[i]==s[n-1])   {ans=0; break;}
            if (s[i]==s[i+1])   {ans=0; break;}
        }
        if (ans==0)   {cout<<0<<endl; continue;}
        // 记录每个属性都有在哪些位置上
        unordered_map<char, vector<int>> positions;
        for (int i=0; i<n; i++) {
            positions[s[i]].emplace_back(i);
        }
        // 计算每个属性不同位置之间的间距
        int min_val = INT_MAX;
        // cout << "position的size=="<<positions.size()<<endl;
        for (auto it=positions.begin(); it!=positions.end(); it++) {
            // cout << "当前position.vector的size=="<<it->second.size()<<endl;
            if ((it->second).size()==1)     {continue;}
            vector<int> temp=it->second, dis;
            for (int i=0; i<it->second.size(); i++) {
                int dis_i;
                if (i==it->second.size()-1) {
                    // cout << "n==" << n << ", temp[0]==" << temp[0] << ", temp[" << i << "]==" << temp[i] << endl;
                    dis_i = (n + temp[0]) - temp[i] - 1;
                }
                else  dis_i = temp[i+1] - temp[i] - 1;
                // cout << "dis_i==" <<dis_i<<endl;
                min_val = min(min_val, dis_i);
                dis.emplace_back(dis_i);
            }
        }
        if (min_val == INT_MAX)  {
            cout << -1 << endl; continue;
        } else {
            // cout<<"min_val==";
            cout<<min_val<<endl; continue;
        }
    }
}
// 64 位输出请用 printf("%lld")