#include <iostream>
#include<fstream>
#include<vector>
#include<cstring>
#include<stdio.h>
#include<math.h>
#define inf 1000000000
using namespace std;
vector<int> v[1000];
int flux[500][500],cap[500][500],n,C[100000],sol,S,D,sw[1000],dist[1000],t[1000];
int a[1000]={0, 1243, 1235, 43263, 1210, 20, 1552, 12442, 21255, 65323, 3262, 1243, 1235, 43263, 1210, 20, 1552, 12442, 21255, 65323, 3262, 1243, 1235, 43263, 1210, 20, 1552, 12442, 21255, 65323, 3262, 1243, 1235, 43263, 1210, 20, 1552, 12442, 21255, 65323, 3262, 1243, 1235, 43263, 1210, 20, 1552, 12442, 21255, 65323, 3262, 1243, 1235, 43263, 1210, 20, 1552, 12442, 21255, 65323, 3262, 1243, 1235, 43263, 1210, 20, 1552, 12442, 21255, 65323, 3262, 1243, 1235, 43263, 1210, 20, 1552, 12442, 21255, 65323, 3262, 1243, 1235, 43263, 1210, 20, 1552, 12442, 21255, 65323, 3262, 1243, 1235, 43263, 1210, 20, 1552, 12442, 21255, 65323, 3262, 1243, 1235, 43263, 1210, 20, 1552, 12442, 21255, 65323, 3262, 1243, 1235, 43263, 1210, 20, 1552, 12442, 21255, 65323, 3262, 1243, 1235, 43263, 1210, 20, 1552, 12442, 21255, 65323, 3262, 1243, 1235, 43263, 1210, 20, 1552, 12442, 21255, 65323, 3262, 1243, 1235, 43263, 1210, 20, 1552, 12442, 21255, 65323, 3262, 1243, 1235, 43263, 1210, 20, 1552, 12442, 21255, 65323, 3262, 1243, 1235, 43263, 1210, 20, 1552, 12442, 21255, 65323, 3262, 1243, 1235, 43263, 1210, 20, 1552, 12442, 21255, 65323, 3262, 1243, 1235, 43263, 1210, 20, 1552, 12442, 21255, 65323, 3262, 1243, 1235, 43263, 1210, 20, 1552, 12442, 21255, 65323, 3262, 1243, 1235, 43263, 1210, 20, 1552, 12442, 21255, 65323, 3262, 1243, 1235, 43263, 1210, 20, 1552, 12442, 21255, 65323, 3262, 1243, 1235, 43263, 1210, 20, 1552, 12442, 21255, 65323, 3262, 1243, 1235, 43263, 1210, 20, 1552, 12442, 21255, 65323, 3262, 1243, 1235, 43263, 1210, 20, 1552, 12442, 21255, 65323, 3262, 1243, 1235, 43263, 1210, 20, 1552, 12442, 21255, 65323, 3262, 1243, 1235, 43263, 1210, 20, 1552, 12442, 21255, 65323, 3262, 1243, 1235, 43263, 1210, 20, 1552, 12442, 21255, 65323, 3262, 1243, 1235, 43263, 1210, 20, 1552, 12442, 21255, 65323, 3262, 1243, 1235, 43263, 1210, 20, 1552, 12442, 21255, 65323, 3262, 1243, 1235, 43263, 1210, 20, 1552, 12442, 21255, 65323, 3262, 1243, 1235, 43263, 1210, 20, 1552, 12442, 21255, 65323, 3262, 1243, 1235, 43263, 1210, 20, 1552, 12442, 21255, 65323, 3262, 1243, 1235, 43263, 1210, 20, 1552, 12442, 21255, 65323, 3262, 1243, 1235, 43263, 1210, 20, 1552, 12442, 21255, 65323, 3262 } ;
int fluxm()
{
int p,i,x,mx,u,val;
vector <int> :: iterator it;
p=u=1;
C[p]=S;
memset(sw,0,sizeof(sw));
memset(t,0,sizeof(t));
sw[0]=1;
for (i=1;i<=D;i++)
dist[i]=inf;
dist[S]=0;
while (p<=u)
{
x=C[p];
for (it=v[x].begin();it<v[x].end();++it)
if (cap[x][*it]>flux[x][*it])
if (dist[x]+(flux[x][*it]>=0)<=dist[*it])
{
t[*it]=x;
dist[*it]=dist[x]+(flux[x][*it]>=0);
if (sw[*it]==0)
{
sw[*it]=1;
C[++u]=*it;
}
}
sw[x]=0;
++p;
}
mx=inf;
for (i=D;i>S;i=t[i])
{
if (flux[t[i]][i]<0)
val=-flux[t[i]][i];
else
val=cap[t[i]][i]-flux[t[i]][i];
mx=min(mx,val);
}
for (i=D;i>S && dist[D]!=inf;i=t[i])
{
flux[t[i]][i]+=mx;
flux[i][t[i]]-=mx;
}
sol+=mx*(dist[D]-2);
return mx;
}
void get ()
{
int cost=1;
while (cost)
cost=fluxm();
}
void cstgraf()
{
int i,s=0;
S=0;D=n+2;
for (i=1;i<=n;i++)
{
s+=a[i];
if (a[i]>0)
cap[S][i]=a[i],v[S].push_back(i);
if (a[i]<0)
cap[i][D]=-a[i],v[i].push_back(D);
v[i].push_back(i+1);
v[i+1].push_back(i);
cap[i][i+1]=cap[i+1][i]=inf;
}
if (s>0)
v[n+1].push_back(D),cap[n+1][D]=s;
else
v[S].push_back(n+1),cap[S][n+1]=-s;
v[n+1].push_back(1);
v[1].push_back(n+1);
cap[1][n+1]=cap[n+1][1]=inf;
}
void citire()
{
int i;
ifstream f("fluxm.in");
f>>n;
for (i=1;i<=n;++i)
f>>a[i];
f.close();
}
void afisare()
{
ofstream g("fluxm.out");
cout<<sol<<' ';
g.close();
}
int main()
{
n=300;
for (int i=1;i<=128;++i)
{cstgraf();
get();
afisare();
memset(flux,0,sizeof(flux));
memset(cap,0,sizeof(cap));
for (int j=0;j<=D;++j)
vector<int>().swap(v[j]);
for (int j=1;j<=n;++j)
a[j]--;
sol=0;
}
return 0;
}