#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include <cmath>
#define ll long long
using namespace std;
int getmid(int ss,int se)
{
return ss+(se-ss)/2;
}
int constructSTUtil(int arr[],int ss,int se,int *st,int si)
{
if(ss==se)
{
st[si]=arr[ss];
return arr[ss];
}
int mid = getmid(ss,se);
st[si]=constructSTUtil(arr,ss,mid,st,2*si+1)+ constructSTUtil(arr,mid+1,se,st,2*si+2);
return st[si];
}
int *constructST(int arr[],int n)
{
int x = (int)ceil(log2(n));
int max_size = 2*pow(2,x)-1;
int *st = new int[max_size];
constructSTUtil(arr,0,n-1,st,0);
return st;
}
int main()
{
ios_base::sync_with_stdio(0);
int n;
cin >> n;
int arr[n];
for(int i=0;i<n;i++)
cin >> arr[i];
int *st = constructST(arr,n);
for(int i=0;i<10;i++)
cout << st[i] << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8YWxnb3JpdGhtPgojaW5jbHVkZSA8Y21hdGg+CiNkZWZpbmUgbGwgbG9uZyBsb25nCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgZ2V0bWlkKGludCBzcyxpbnQgc2UpCnsKICByZXR1cm4gc3MrKHNlLXNzKS8yOwp9CgoKaW50IGNvbnN0cnVjdFNUVXRpbChpbnQgYXJyW10saW50IHNzLGludCBzZSxpbnQgKnN0LGludCBzaSkKewogIGlmKHNzPT1zZSkKICB7CiAgICBzdFtzaV09YXJyW3NzXTsKICAgIHJldHVybiBhcnJbc3NdOwogIH0KICBpbnQgbWlkID0gZ2V0bWlkKHNzLHNlKTsKICBzdFtzaV09Y29uc3RydWN0U1RVdGlsKGFycixzcyxtaWQsc3QsMipzaSsxKSsgY29uc3RydWN0U1RVdGlsKGFycixtaWQrMSxzZSxzdCwyKnNpKzIpOwogIHJldHVybiBzdFtzaV07Cn0KCmludCAqY29uc3RydWN0U1QoaW50IGFycltdLGludCBuKQp7CiAgaW50IHggPSAoaW50KWNlaWwobG9nMihuKSk7CiAgaW50IG1heF9zaXplID0gMipwb3coMix4KS0xOwogIGludCAqc3QgPSBuZXcgaW50W21heF9zaXplXTsKICBjb25zdHJ1Y3RTVFV0aWwoYXJyLDAsbi0xLHN0LDApOwogIHJldHVybiBzdDsKfQoKCmludCBtYWluKCkKewogIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oMCk7CiAgaW50IG47CiAgY2luID4+IG47CiAgaW50IGFycltuXTsKICBmb3IoaW50IGk9MDtpPG47aSsrKQogICAgY2luID4+IGFycltpXTsKICBpbnQgKnN0ID0gY29uc3RydWN0U1QoYXJyLG4pOwogIGZvcihpbnQgaT0wO2k8MTA7aSsrKQogICAgY291dCA8PCBzdFtpXSA8PCBlbmRsOwogIHJldHVybiAwOwp9Cg==