#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], mid;
ll sum, ans;
map <ll, ll> v;
void recur1(int pos, ll diff, ll sum)
{
if (pos > mid)
{
v[diff] = max(v[diff], sum);
return;
}
recur1(pos + 1, diff, sum);
recur1(pos + 1, diff + a[pos], sum + a[pos]);
recur1(pos + 1, abs(diff - a[pos]), sum + a[pos]);
}
void recur2(int pos, ll diff, ll sum)
{
if (pos > n)
{
if (v.find(diff) != v.end())
ans = max(ans, sum + v[diff]);
return;
}
recur2(pos + 1, diff, sum);
recur2(pos + 1, diff + a[pos], sum + a[pos]);
recur2(pos + 1, abs(diff - a[pos]), sum + a[pos]);
}
void sub2()
{
v.clear();
mid = (n + 1) / 2;
recur1(1, 0, 0);
ans = 0;
recur2(mid + 1, 0, 0);
cout << sum - ans << endl;
}
int main()
{
ios::sync_with_stdio(false), cin.tie(nullptr);
#define name "test"
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];
if (n <= 24) sub2();
}
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgbGwgbG9uZyBsb25nCiNkZWZpbmUgZmlyIGZpcnN0CiNkZWZpbmUgc2VjIHNlY29uZAp1c2luZyBuYW1lc3BhY2Ugc3RkOwpjb25zdCBpbnQgTiA9IDk2OwoKaW50IG4sIGFbTiArIDVdLCBtaWQ7CmxsIHN1bSwgYW5zOwoKbWFwIDxsbCwgbGw+IHY7CnZvaWQgcmVjdXIxKGludCBwb3MsIGxsIGRpZmYsIGxsIHN1bSkKewogICAgaWYgKHBvcyA+IG1pZCkKICAgIHsKICAgICAgICB2W2RpZmZdID0gbWF4KHZbZGlmZl0sIHN1bSk7CiAgICAgICAgcmV0dXJuOwogICAgfQoKICAgIHJlY3VyMShwb3MgKyAxLCBkaWZmLCBzdW0pOwogICAgcmVjdXIxKHBvcyArIDEsIGRpZmYgKyBhW3Bvc10sIHN1bSArIGFbcG9zXSk7CiAgICByZWN1cjEocG9zICsgMSwgYWJzKGRpZmYgLSBhW3Bvc10pLCBzdW0gKyBhW3Bvc10pOwp9Cgp2b2lkIHJlY3VyMihpbnQgcG9zLCBsbCBkaWZmLCBsbCBzdW0pCnsKICAgIGlmIChwb3MgPiBuKQogICAgewogICAgICAgIGlmICh2LmZpbmQoZGlmZikgIT0gdi5lbmQoKSkKICAgICAgICAgICAgYW5zID0gbWF4KGFucywgc3VtICsgdltkaWZmXSk7CiAgICAgICAgcmV0dXJuOwogICAgfQoKICAgIHJlY3VyMihwb3MgKyAxLCBkaWZmLCBzdW0pOwogICAgcmVjdXIyKHBvcyArIDEsIGRpZmYgKyBhW3Bvc10sIHN1bSArIGFbcG9zXSk7CiAgICByZWN1cjIocG9zICsgMSwgYWJzKGRpZmYgLSBhW3Bvc10pLCBzdW0gKyBhW3Bvc10pOwp9Cgp2b2lkIHN1YjIoKQp7CiAgICB2LmNsZWFyKCk7CiAgICBtaWQgPSAobiArIDEpIC8gMjsKICAgIHJlY3VyMSgxLCAwLCAwKTsKICAgIGFucyA9IDA7CiAgICByZWN1cjIobWlkICsgMSwgMCwgMCk7CiAgICBjb3V0IDw8IHN1bSAtIGFucyA8PCBlbmRsOwp9CgppbnQgbWFpbigpCnsKICAgIGlvczo6c3luY193aXRoX3N0ZGlvKGZhbHNlKSwgY2luLnRpZShudWxscHRyKTsKICAgICNkZWZpbmUgbmFtZSAidGVzdCIKICAgIGlmIChmb3BlbihuYW1lIi5pbnAiLCAiciIpKQogICAgewogICAgICAgIGZyZW9wZW4obmFtZSIuaW5wIiwgInIiLCBzdGRpbik7CiAgICAgICAgZnJlb3BlbihuYW1lIi5vdXQiLCAidyIsIHN0ZG91dCk7CiAgICB9CiAgICB3aGlsZSAoY2luID4+IG4pCiAgICB7CiAgICAgICAgc3VtID0gMDsKICAgICAgICBmb3IgKGludCBpID0gMTsgaSA8PSBuOyArK2kpCiAgICAgICAgICAgIGNpbiA+PiBhW2ldLCBzdW0gKz0gYVtpXTsKCiAgICAgICAgaWYgKG4gPD0gMjQpIHN1YjIoKTsKICAgIH0KfQo=