#include<bits/stdc++.h>
#define MASK(i) (1<<(i))
#define BIT(x,i) (((x)>>(i))&1)
using namespace std;
const long long MaxN = 17;
const long long MaxDP = 1<<MaxN;
long long n,a[MaxN],s[MaxDP];
void input()
{
cin >> n;
for (long long i=0; i<n; i++)
{
cin >> a[i];
}
}
void solve()
{
// tính tổng mọi tập con của a[0,...,n]
for (long long i=0; i<n; i++)
{
s[MASK(i)]=a[i];
}
s[0]=0;
for (long long mask=1; mask<MASK(n); mask++)
{
long long tmp =mask&-mask;
s[mask]=s[tmp]+s[tmp^mask];
}
}
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
input();
solve();
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KI2RlZmluZSBNQVNLKGkpICgxPDwoaSkpCiNkZWZpbmUgQklUKHgsaSkgKCgoeCk+PihpKSkmMSkKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKY29uc3QgbG9uZyBsb25nIE1heE4gPSAxNzsKY29uc3QgbG9uZyBsb25nIE1heERQID0gMTw8TWF4TjsKbG9uZyBsb25nIG4sYVtNYXhOXSxzW01heERQXTsKdm9pZCBpbnB1dCgpCnsKICAgY2luID4+IG47CiAgIGZvciAobG9uZyBsb25nIGk9MDsgaTxuOyBpKyspCiAgIHsKICAgICAgIGNpbiA+PiBhW2ldOwogICB9Cn0Kdm9pZCBzb2x2ZSgpCnsKCiAgICAvLyB0w61uaCB04buVbmcgbeG7jWkgdOG6rXAgY29uIGPhu6dhIGFbMCwuLi4sbl0KICAgIGZvciAobG9uZyBsb25nIGk9MDsgaTxuOyBpKyspCiAgICB7CiAgICAgICAgc1tNQVNLKGkpXT1hW2ldOwogICAgfQogICAgc1swXT0wOwogICAgZm9yIChsb25nIGxvbmcgbWFzaz0xOyBtYXNrPE1BU0sobik7IG1hc2srKykKICAgIHsKICAgICAgICBsb25nIGxvbmcgdG1wID1tYXNrJi1tYXNrOwogICAgICAgIHNbbWFza109c1t0bXBdK3NbdG1wXm1hc2tdOwogICAgfQoKfQppbnQgbWFpbigpCnsKICAgIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oMCk7CiAgICBjaW4udGllKDApOwogICAgaW5wdXQoKTsKICAgIHNvbHZlKCk7CiAgICByZXR1cm4gMDsKfQoK