#include <bits/stdc++.h>
#define ll long long
#define fir first
#define sec second
using namespace std;
const int N = 96;
int n, a[N + 5];
ll sum;
unordered_map <ll, ll> dp, dp0;
int main()
{
ios::sync_with_stdio(false), cin.tie(nullptr);
#define name "treasure"
if (fopen(name".inp", "r"))
{
freopen(name".inp", "r", stdin);
freopen(name".out", "w", stdout);
}
while (cin >> n)
{
sum = 0;
for (int i = 1; i <= n; ++i)
cin >> a[i], sum += a[i];
dp.clear(); dp0.clear();
dp[0] = 0, dp0[0] = 0;
for (int i = 1; i <= n; ++i)
{
for (const pair <ll, ll> &tmp : dp)
{
dp0[tmp.fir + a[i]] = max(dp0[tmp.fir + a[i]], tmp.sec + a[i]);
dp0[abs(tmp.fir - a[i])] = max(dp0[abs(tmp.fir - a[i])], tmp.sec + a[i]);
}
for (const pair <ll, ll> &tmp : dp0)
dp[tmp.fir] = tmp.sec;
}
cout << sum - dp0[0] << endl;
}
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgbGwgbG9uZyBsb25nCiNkZWZpbmUgZmlyIGZpcnN0CiNkZWZpbmUgc2VjIHNlY29uZAp1c2luZyBuYW1lc3BhY2Ugc3RkOwpjb25zdCBpbnQgTiA9IDk2OwoKaW50IG4sIGFbTiArIDVdOwpsbCBzdW07CnVub3JkZXJlZF9tYXAgPGxsLCBsbD4gZHAsIGRwMDsKaW50IG1haW4oKQp7CiAgICBpb3M6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSksIGNpbi50aWUobnVsbHB0cik7CiAgICAjZGVmaW5lIG5hbWUgInRyZWFzdXJlIgogICAgaWYgKGZvcGVuKG5hbWUiLmlucCIsICJyIikpCiAgICB7CiAgICAgICAgZnJlb3BlbihuYW1lIi5pbnAiLCAiciIsIHN0ZGluKTsKICAgICAgICBmcmVvcGVuKG5hbWUiLm91dCIsICJ3Iiwgc3Rkb3V0KTsKICAgIH0KICAgIHdoaWxlIChjaW4gPj4gbikKICAgIHsKICAgICAgICBzdW0gPSAwOwogICAgICAgIGZvciAoaW50IGkgPSAxOyBpIDw9IG47ICsraSkKICAgICAgICAgICAgY2luID4+IGFbaV0sIHN1bSArPSBhW2ldOwoKICAgICAgICBkcC5jbGVhcigpOyBkcDAuY2xlYXIoKTsKICAgICAgICBkcFswXSA9IDAsIGRwMFswXSA9IDA7CiAgICAgICAgZm9yIChpbnQgaSA9IDE7IGkgPD0gbjsgKytpKQogICAgICAgIHsKICAgICAgICAgICAgZm9yIChjb25zdCBwYWlyIDxsbCwgbGw+ICZ0bXAgOiBkcCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgZHAwW3RtcC5maXIgKyBhW2ldXSA9IG1heChkcDBbdG1wLmZpciArIGFbaV1dLCB0bXAuc2VjICsgYVtpXSk7CiAgICAgICAgICAgICAgICBkcDBbYWJzKHRtcC5maXIgLSBhW2ldKV0gPSBtYXgoZHAwW2Ficyh0bXAuZmlyIC0gYVtpXSldLCB0bXAuc2VjICsgYVtpXSk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGZvciAoY29uc3QgcGFpciA8bGwsIGxsPiAmdG1wIDogZHAwKQogICAgICAgICAgICAgICAgZHBbdG1wLmZpcl0gPSB0bXAuc2VjOwogICAgICAgIH0KCiAgICAgICAgY291dCA8PCBzdW0gLSBkcDBbMF0gPDwgZW5kbDsKICAgIH0KfQo=