#include <bits/stdc++.h>
using namespace std;
int main(){
// freopen("SumOverSubset.inp", "r", stdin);
// freopen("SumOverSubset.out", "w", stdout);
ios_base::sync_with_stdio(false);
cin.tie(NULL);
int n, x; cin >> n;
long long mx = 0;
const int mod = 1e9 + 7;
long long dp2[n + 5], dp[n + 5], a[n + 5];
bool chk[n + 5];
memset(dp, 0, sizeof dp);
memset(dp2, 0, sizeof dp2);
memset(chk, 0, sizeof chk);
for(int i = 0; i < n; i++){
cin >> a[i];
mx = max(mx, a[i]);
dp[i] = a[i];
dp2[i] = a[i] * a[i];
}
int sz = floor(log2(mx)) + 1;
for(int i = 0; i < sz; i++){
for(int j = 1; j < n; j++){
if((j >> i) & 1){
dp[j] += dp[j ^ (1 << i)];
}
}
}
dp[0] = dp[0] * dp[0];
for(int i = 1; i < n; i++){
dp[i] = dp[i] * dp[i];
//dp[i] += dp[i - 1];
}
// for(int i = 0; i < n; i++){
// cout << dp[i] << " ";
// }
for(int i = 0; i < sz; i++){
for(int j = 1; j < n; j++){
if((j >> i) & 1){
dp[j] -= dp[j ^ (1 << i)];
}
}
}
cout << dp[0] << " ";
for(int i = 1; i < n; i++){
dp[i] += dp[i - 1];
cout << dp[i] << " ";
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKXsKCS8vIGZyZW9wZW4oIlN1bU92ZXJTdWJzZXQuaW5wIiwgInIiLCBzdGRpbik7CgkvLyBmcmVvcGVuKCJTdW1PdmVyU3Vic2V0Lm91dCIsICJ3Iiwgc3Rkb3V0KTsKICAgIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOwogICAgY2luLnRpZShOVUxMKTsKICAgIGludCBuLCB4OyBjaW4gPj4gbjsKICAgIGxvbmcgbG9uZyBteCA9IDA7CiAgICBjb25zdCBpbnQgbW9kID0gMWU5ICsgNzsKICAgIGxvbmcgbG9uZyBkcDJbbiArIDVdLCBkcFtuICsgNV0sIGFbbiArIDVdOwogICAgYm9vbCBjaGtbbiArIDVdOwogICAgbWVtc2V0KGRwLCAwLCBzaXplb2YgZHApOwogICAgbWVtc2V0KGRwMiwgMCwgc2l6ZW9mIGRwMik7CiAgICBtZW1zZXQoY2hrLCAwLCBzaXplb2YgY2hrKTsKICAgIGZvcihpbnQgaSA9IDA7IGkgPCBuOyBpKyspewogICAgCWNpbiA+PiBhW2ldOwogICAgCW14ID0gbWF4KG14LCBhW2ldKTsKICAgIAlkcFtpXSA9IGFbaV07CiAgICAJZHAyW2ldID0gYVtpXSAqIGFbaV07CiAgICB9CiAgICBpbnQgc3ogPSBmbG9vcihsb2cyKG14KSkgKyAxOwogICAgZm9yKGludCBpID0gMDsgaSA8IHN6OyBpKyspewogICAgCWZvcihpbnQgaiA9IDE7IGogPCBuOyBqKyspewogICAgCQlpZigoaiA+PiBpKSAmIDEpewogICAgCQkJZHBbal0gKz0gZHBbaiBeICgxIDw8IGkpXTsKICAgIAkJfQogICAgCX0KICAgIH0KICAgIGRwWzBdID0gZHBbMF0gKiBkcFswXTsKICAgIGZvcihpbnQgaSA9IDE7IGkgPCBuOyBpKyspewogICAgCWRwW2ldID0gZHBbaV0gKiBkcFtpXTsKICAgIAkvL2RwW2ldICs9IGRwW2kgLSAxXTsKICAgIH0KICAgIC8vIGZvcihpbnQgaSA9IDA7IGkgPCBuOyBpKyspewogICAgLy8gCWNvdXQgPDwgZHBbaV0gPDwgIiAiOwogICAgLy8gfQogICAgZm9yKGludCBpID0gMDsgaSA8IHN6OyBpKyspewogICAgCWZvcihpbnQgaiA9IDE7IGogPCBuOyBqKyspewogICAgCQlpZigoaiA+PiBpKSAmIDEpewogICAgCQkJZHBbal0gLT0gZHBbaiBeICgxIDw8IGkpXTsKICAgIAkJfQogICAgCX0KICAgIH0KICAgIGNvdXQgPDwgZHBbMF0gPDwgIiAiOwogICAgZm9yKGludCBpID0gMTsgaSA8IG47IGkrKyl7CiAgICAJZHBbaV0gKz0gZHBbaSAtIDFdOwogICAgCWNvdXQgPDwgZHBbaV0gPDwgIiAiOwogICAgfQogICAgCiAgICAKICAgIAogICAgcmV0dXJuIDA7Cgp9Cg==