#include using namespace std; #define rep(i, a, b) for(int i = (a); i < (b); i++) #define all(x) (x).begin(), (x).end() #define vi vector #define pb push_back #define ll long long int #define watch(x) cout<<(#x)<< "is" <<(x) <> #define f first #define s second template void output_vector(const vector &v, bool add_one = false, int start = -1, int end = -1) { if (start < 0) start = 0; if (end < 0) end = int(v.size()); for (int i = start; i < end; i++) cout << v[i] + (add_one ? 1 : 0) << (i < end - 1 ? ' ' : '\n'); } bool isPrime(ll n) { if(n==2) return true; for ( ll i = 2; i * i <= n; ++ i) { if (n % i == 0) { return false; } } return true; } // bool prime[ll n]; // void SieveOfEratosthenes(ll n) // { // memset(prime, true, sizeof(prime)); // for (ll p = 2; p * p <= n; p++) // { // if (prime[p] == true) // { // for (ll i = p * p; i <= n; i += p) // prime[i] = false; // } // } // } void solve() { int n; cin>>n; vi v(n); int even = 0; int odd = 0; rep(i,0,n){ cin>>v[i]; if(v[i]&1){ odd++; v[i]=1; } else{ even++; v[i]=0; } } // rep(i,0,n){ // cout<=0; i--){ if(v[i]!=v[i+1]) continue; int j = i-1; while(j>=0){ if(v[j]!=v[i]) break; else j--; } swap(v[i],v[j]); ans = ans + i - j; } cout<>t; while(t--){ solve(); } }