#include<stdio.h>
#include<string.h>
int Min(int x,int y)
{
return x>y?y:x;
}
int bag[51][1001];
int m[101],a[101];
int n;
int main()
{
while (~scanf("%d",&n))
{
int sum=0;
for (int i=1;i<=n;i++)
{ scanf("%d",&a[i]);
sum+=a[i];
}
memset(bag,0,sizeof(bag));
bag[0][0]=1;
memset(m,0,sizeof(m));
for (int i=1;i<=n;i++)
for (int j=Min(i,n>>1);j>=1;j--)
for (int k=Min(m[j-1]+a[i],sum>>1);k>=a[i];k--)
{
bag[j][k]|=bag[j-1][k-a[i]];
if (bag[j][k] && m[j]<k) m[j]=k;
}
for (int i=sum>>1;i>=0;i--)
if (bag[n>>1][i])
{
printf("%d\n",sum-(2*i));
break;
}
}
return 0;
}