#include <bits/stdc++.h>
using namespace std;
#define int long long
#define dd double
#define ld long double
#define ull unsigned long long
#define yes cout << "YES\n"
#define no cout << "NO\n"
#define el "\n"
#define Arwa ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#define fix(x) cout << fixed << setprecision(x)
#define all(v) v.begin(),v.end()
#define dpp(v,val) memset(v,val,sizeof(v))
#define mod 1e9+7
const int N = 1e5 + 5;
int gcd(int a, int b) { return b == 0 ? a : gcd(b, a % b); } // log(n) __gcd(a,b)
//todo اى ويل بريبير ماى بيبرز تو بى ذا بيست ان زيس وورلد
int n,sum;
vector<int>v;
int dp[101][50001];
int rec(int i,int s1)
{
    if(i==n) 
    {
        return abs(s1-(sum-s1));
        return 0;
    }
    if(dp[i][s1]!=-1) return dp[i][s1];
    return dp[i][s1]=min(rec(i+1,s1+v[i]),rec(i+1,s1));
}
void HereWeGoAgain()
{
  cin>>n;
  v.resize(n);
  for(int i=0;i<n;i++) cin>>v[i];
  for(int i=0;i<n;i++) sum+=v[i];
  dpp(dp,-1);
  cout<<rec(0,0)<<el;
}
int32_t main() 
{
    Arwa
    int t=1;
    cin>>t;
    for(int i=1;i<=t;i++)
    {
    HereWeGoAgain();
    }
    return 0;
}
				I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgaW50IGxvbmcgbG9uZwojZGVmaW5lIGRkIGRvdWJsZQojZGVmaW5lIGxkIGxvbmcgZG91YmxlCiNkZWZpbmUgdWxsIHVuc2lnbmVkIGxvbmcgbG9uZwojZGVmaW5lIHllcyBjb3V0IDw8ICJZRVNcbiIKI2RlZmluZSBubyBjb3V0IDw8ICJOT1xuIgojZGVmaW5lIGVsICJcbiIKI2RlZmluZSBBcndhIGlvczo6c3luY193aXRoX3N0ZGlvKDApOyBjaW4udGllKDApOyBjb3V0LnRpZSgwKTsKI2RlZmluZSBmaXgoeCkgY291dCA8PCBmaXhlZCA8PCBzZXRwcmVjaXNpb24oeCkKI2RlZmluZSBhbGwodikgdi5iZWdpbigpLHYuZW5kKCkKI2RlZmluZSBkcHAodix2YWwpIG1lbXNldCh2LHZhbCxzaXplb2YodikpCiNkZWZpbmUgbW9kIDFlOSs3CmNvbnN0IGludCBOID0gMWU1ICsgNTsKaW50IGdjZChpbnQgYSwgaW50IGIpIHsgcmV0dXJuIGIgPT0gMCA/IGEgOiBnY2QoYiwgYSAlIGIpOyB9IC8vIGxvZyhuKSBfX2djZChhLGIpCi8vdG9kbyDYp9mJINmI2YrZhCDYqNix2YrYqNmK2LEg2YXYp9mJINio2YrYqNix2LIg2KrZiCDYqNmJINiw2Kcg2KjZitiz2Kog2KfZhiDYstmK2LMg2YjZiNix2YTYrwppbnQgbixzdW07CnZlY3RvcjxpbnQ+djsKaW50IGRwWzEwMV1bNTAwMDFdOwppbnQgcmVjKGludCBpLGludCBzMSkKewogICAgaWYoaT09bikgCiAgICB7CiAgICAgICAgcmV0dXJuIGFicyhzMS0oc3VtLXMxKSk7CiAgICAgICAgcmV0dXJuIDA7CiAgICB9CiAgICBpZihkcFtpXVtzMV0hPS0xKSByZXR1cm4gZHBbaV1bczFdOwogICAgcmV0dXJuIGRwW2ldW3MxXT1taW4ocmVjKGkrMSxzMSt2W2ldKSxyZWMoaSsxLHMxKSk7Cn0Kdm9pZCBIZXJlV2VHb0FnYWluKCkKewogIGNpbj4+bjsKICB2LnJlc2l6ZShuKTsKICBmb3IoaW50IGk9MDtpPG47aSsrKSBjaW4+PnZbaV07CiAgZm9yKGludCBpPTA7aTxuO2krKykgc3VtKz12W2ldOwogIGRwcChkcCwtMSk7CiAgY291dDw8cmVjKDAsMCk8PGVsOwp9CmludDMyX3QgbWFpbigpIAp7CiAgICBBcndhCiAgICBpbnQgdD0xOwogICAgY2luPj50OwogICAgZm9yKGludCBpPTE7aTw9dDtpKyspCiAgICB7CiAgICBIZXJlV2VHb0FnYWluKCk7CiAgICB9CiAgICByZXR1cm4gMDsKfQ==