//利用搜索来实现在均分(意思就是这个人的多少,多方就得多少)的情况下,使得两堆误差最小(总的质量之和减去两者均分量之和,就是在此种均分情况下的两堆差量)!
#include <iostream>
#include <cstring>
#include <cstdio>
using namespace std;
const int MAXN = 25;
int arr[MAXN];
int minnum, n;
int total;
int fabs(int a)
{
return a > 0 ? a : (-a);
}
void DFS(int cur, int sum)
{
if(cur == n)
return ;
int t = (int)fabs(total - sum - sum);
if(t < minnum)
minnum = t;
DFS(cur + 1, sum);
DFS(cur + 1, sum + arr[cur]);
}
int main()
{
while(~scanf("%d", &n))
{
total = 0;
minnum = 0xfffffff;
memset(arr, 0, sizeof(arr));
for(int i = 0; i < n; ++i)
{
scanf("%d", &arr[i]);
total += arr[i];
}
DFS(0, 0);
if(n == 0)
printf("0\n");
else
printf("%d\n", minnum);
}
return 0;
}