#include<bits/stdc++.h>
using namespace std;
#define fast ios_base::sync_with_stdio(false),cout.tie(NULL),cin.tie(NULL);
#define N "\n";
#define all(v) v.begin(),v.end()
#define rall(v) v.rbegin(),v.rend()
#define sz(s) s.size()
typedef long long ll;
#define ull unsigned long long
#define fi first
#define se second
int MOD=1e9+7;
ll mul(ll a,ll b){return (1ll*a*b)%MOD;}
int sub(ll a,ll b){return ((a-b)%MOD+MOD)%MOD;}
int add(ll a,ll b){return ((a%MOD)+(b%MOD))%MOD;}
ll lcm(ll x, ll y) {return x / __gcd(x, y) * y;}
bool iseven(ll n) {if ((n & 1)){return 0;}else {return 1;}}
ll ncr(int n,int m){ll z=1;for(int i=0;i<m;i++){z=z*(n-i)/(i+1);}return z;}
void swp(ll &a,ll &b){a^=b;b^=a;a^=b;}
ll fp(int n,int p){if(!p){return 1;}ll rem=fp(n,p>>1);rem*=rem;if(p&1){rem*=n;}return rem;}
const ll M=3e7+5;
int main() {
fast
int t=1;
cin>>t;
while(t--){
int n;
cin>>n;
vector<int>v;
for(int i=0;i<n;i++){
int num;
cin>>num;
if(v.empty()){
v.push_back(num);
}
else{
if(num!=v.back()){
v.push_back(num);
}
}
}
if(sz(v)==1){cout<<0<<N;}
else{
map<int,int>mp;
for(auto&it:v){
mp[it]++;
}
int mn=1e9;
if(mp[v[0]]==1||mp[v[sz(v)-1]]==1){
cout<<1<<N;
}
else{
for(auto&it:mp){
mn=min(mn,it.second);
}
cout<<mn<<N;
}
}
}
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKI2RlZmluZSBmYXN0IGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpLGNvdXQudGllKE5VTEwpLGNpbi50aWUoTlVMTCk7CiNkZWZpbmUgTiAiXG4iOwojZGVmaW5lIGFsbCh2KSB2LmJlZ2luKCksdi5lbmQoKQojZGVmaW5lIHJhbGwodikgdi5yYmVnaW4oKSx2LnJlbmQoKQojZGVmaW5lIHN6KHMpIHMuc2l6ZSgpCnR5cGVkZWYgIGxvbmcgbG9uZyBsbDsKI2RlZmluZSB1bGwgdW5zaWduZWQgbG9uZyBsb25nCiNkZWZpbmUgZmkgZmlyc3QKI2RlZmluZSBzZSBzZWNvbmQKaW50IE1PRD0xZTkrNzsKbGwgbXVsKGxsIGEsbGwgYil7cmV0dXJuICgxbGwqYSpiKSVNT0Q7fQppbnQgc3ViKGxsIGEsbGwgYil7cmV0dXJuICgoYS1iKSVNT0QrTU9EKSVNT0Q7fQppbnQgYWRkKGxsIGEsbGwgYil7cmV0dXJuICgoYSVNT0QpKyhiJU1PRCkpJU1PRDt9CmxsIGxjbShsbCB4LCBsbCB5KSB7cmV0dXJuIHggLyBfX2djZCh4LCB5KSAqIHk7fQpib29sIGlzZXZlbihsbCBuKSB7aWYgKChuICYgMSkpe3JldHVybiAwO31lbHNlIHtyZXR1cm4gMTt9fQpsbCBuY3IoaW50IG4saW50IG0pe2xsIHo9MTtmb3IoaW50IGk9MDtpPG07aSsrKXt6PXoqKG4taSkvKGkrMSk7fXJldHVybiB6O30Kdm9pZCBzd3AobGwgJmEsbGwgJmIpe2FePWI7Yl49YTthXj1iO30KbGwgZnAoaW50IG4saW50IHApe2lmKCFwKXtyZXR1cm4gMTt9bGwgcmVtPWZwKG4scD4+MSk7cmVtKj1yZW07aWYocCYxKXtyZW0qPW47fXJldHVybiByZW07fQpjb25zdCBsbCBNPTNlNys1OwppbnQgbWFpbigpIHsKCWZhc3QKCQlpbnQgdD0xOwoJCWNpbj4+dDsKCQl3aGlsZSh0LS0pewoJCQlpbnQgbjsKCQkJY2luPj5uOwoJCQl2ZWN0b3I8aW50PnY7CgkJCWZvcihpbnQgaT0wO2k8bjtpKyspewoJCQkJaW50IG51bTsKCQkJCWNpbj4+bnVtOwoJCQkJaWYodi5lbXB0eSgpKXsKCQkJCQl2LnB1c2hfYmFjayhudW0pOwoJCQkJfQoJCQkJZWxzZXsKCQkJCQlpZihudW0hPXYuYmFjaygpKXsKCQkJCQkJdi5wdXNoX2JhY2sobnVtKTsKCQkJCQl9CgkJCQl9CgkJCX0KCQkJaWYoc3oodik9PTEpe2NvdXQ8PDA8PE47fQoJCQllbHNlewoJCQkJbWFwPGludCxpbnQ+bXA7CgkJCQlmb3IoYXV0byZpdDp2KXsKCQkJCQltcFtpdF0rKzsKCQkJCX0KCQkJCWludCBtbj0xZTk7CgkJCQlpZihtcFt2WzBdXT09MXx8bXBbdltzeih2KS0xXV09PTEpewoJCQkJCWNvdXQ8PDE8PE47CgkJCQl9CgkJCQllbHNlewoJCQkJCWZvcihhdXRvJml0Om1wKXsKCQkJCQkJbW49bWluKG1uLGl0LnNlY29uZCk7CgkJCQkJfQoJCQkJCWNvdXQ8PG1uPDxOOwoJCQkJfQoJCQl9CgkJCQoJCX0KfQkJIAkJCSAgCQkgIAkJCQkgIAkgCSAJCQkJCiAgCSAJICAJIAkJIAkJCSAJCSAgIAkJCSAgCSAJ