#include<bits/stdc++.h>
using namespace std;
vector<uint64_t>a;
uint64_t g(uint64_t m,uint64_t n){
if(m==n) return m;
if(m<n) return g(n,m);
if(m&1){
if(n&1) return g(n,m-n);
return g(m,n/2);
}
else if(n&1) return g(m/2,n);
return 2*g(m/2,n/2);
}
uint64_t fenzhiFZ(uint64_t sum,uint64_t i,uint64_t j){
if(i==j) return a[i]+sum;
uint64_t mid=(i+j)>>1;
uint64_t a=fenzhiFZ(sum,i,mid),s=fenzhiFZ(sum,mid+1,j);
return g(a,s);
}
int main(){
uint64_t n,q,s;
cin>>n>>q;
while(n--){
cin>>s;
a.emplace_back(s);
}
for(int i=1;i<=q;i++)
cout<<fenzhiFZ(i,0,a.size()-1)<<endl;
return 0;
}
g的时间复杂度是多少?