#include<iostream>
#include<cstring>
#include<cstdlib>
#include<cmath>
#include<time.h>
#define maxn 33
const double D=0.995,EPX=1e-15;
using namespace std;
long long A[maxn],B[maxn],n,q,ans,rst,best;
void swapp(int a,int b){
long tmp=A[a];
A[a]=B[b];
B[b]=tmp;
}
long long cal(){
long long s1=0,s2=0;
for(int i=1;i<=n/2;i++)s1+=A[i];
for(int i=n/2+1;i<=n;i++)s2+=B[i];
return abs(s1-s2);
}
void SA(){
rst=0;
ans=best;
int x,y;
for(double T=100000;T>EPX;T*=D){
x=rand()%(n/2)+1;
y=rand()%(n-n/2)+(n/2+1);
swapp(x,y);
rst=cal();
if(best>rst)best=rst;
if(ans>rst||1.0*exp(ans-rst)/T>(double)rand()/RAND_MAX)
ans=rst;
else swapp(x,y);
}
}
int main(){
cin>>q;
srand(time(0));
while(q--){
memset(A,0,sizeof(A));
memset(B,0,sizeof(B));
best=ans=0;
cin>>n;
for(int i=1;i<=n;i++){
if(i<=n/2)cin>>A[i];
else if(i>n/2)cin>>B[i];
}
best=ans=cal();
SA();SA();SA();SA();
SA();SA();SA();SA();
SA();SA();SA();SA();
cout<<best<<endl;
}
return 0;
}