#include<bits/stdc++.h>
using namespace std;
#define int long long
int cnt;
map<string, int> idx;
int dis[47000], a[10];
void bfs(int x) {
queue<string> q;
string s = "";
for(int i = x; i >= 1; i--) s += char((i + '0'));
//cout << s << '\n';
q.push(s);
idx[s] = ++cnt;
dis[cnt] = 0;
while(!q.empty()) {
string u = q.front();
q.pop();
for(int i = 0; i < u.size(); i++) {
for(int j = 0; j < u.size() - 1; j++) {
string tmp = "";
for(int k = 0; k < j; k++) tmp += u[k];
for(int k = u.size() - 1; k >= j; k--) tmp += u[k];
if(idx[tmp]) continue;
idx[tmp] = ++cnt;
dis[cnt] = dis[idx[u]] + 1;
q.push(tmp);
}
}
}
}
signed main() {
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
for(int i = 1; i <= 8; i++) bfs(i);
int tc;
cin >> tc;
while(tc--) {
int n;
cin >> n;
vector<int> nen;
for(int i = 1; i <= n; i++) {
cin >> a[i];
nen.push_back(a[i]);
}
sort(nen.begin(), nen.end());
nen.erase(unique(nen.begin(), nen.end()), nen.end());
string tmp = "";
for(int i = 1; i <= n; i++) {
a[i] = lower_bound(nen.begin(), nen.end(), a[i]) - nen.begin() + 1;
tmp += char(a[i] + '0');
}
//cout << tmp << '\n';
cout << dis[idx[tmp]] << '\n';
}
}