#include<bits/stdc++.h>
using namespace std;
inline int read(){int x=0,f=1;char ch=getchar();while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}while(ch>='0'&&ch<='9'){x=(x<<3)+(x<<1)+ch-48;ch=getchar();}return x*f;}
const int MAXN=1e4+10;
const double EPS=1e-15,DOWN=0.999995;
int n,ans,sum1,sum0,val[MAXN];
bool bit[MAXN];
inline void Sa(){
double temp=5;
while(temp>EPS){
if((double)clock()/CLOCKS_PER_SEC<1.9) return;
int pos=abs(rand())%n+1;
if(bit[pos]==0){
int ansnow=abs(sum0-val[pos]-sum1-val[pos]),delta=ansnow-ans;
double dbdel=(double)delta*1.0;
if(delta<0){
ans=ansnow;
bit[pos]=1;
sum0-=val[pos];
sum1+=val[pos];
}else if(exp(-dbdel*1.0/temp)*RAND_MAX<rand()){
bit[pos]=1;
sum0-=val[pos];
sum1+=val[pos];
}
}else{
int ansnow=abs(sum0+val[pos]-sum1+val[pos]),delta=ansnow-ans;
double dbdel=(double)delta*1.0;
if(delta<0){
ans=ansnow;
bit[pos]=0;
sum0+=val[pos];
sum1-=val[pos];
}else if(exp(-dbdel*1.0/temp)*RAND_MAX<rand()){
bit[pos]=0;
sum0+=val[pos];
sum1-=val[pos];
}
}
temp*=DOWN;
}
}
signed main(){
srand(time(0));
n=read();
for(int i=1;i<=n;i++) val[i]=read(),sum0+=val[i],ans+=val[i];
while((double)clock()/CLOCKS_PER_SEC<1.9) Sa();
cout<<ans<<'\n';
return 0;
}