#include<atcoder/segtree>#include<bits/stdc++.h>usingnamespacestd;usingnamespaceatcoder;longlongop(longlonga,longlongb){returna+b;}longlonge(){return0;}classBlackBox{public:segtree<longlong,op,e>*diff_array;BlackBox(intn){diff_array=newsegtree<longlong,op,e>(n);}voidrange_inc(intl,intr,longlongdelta){diff_array->set(l,diff_array->get(l)+delta);diff_array->set(r+1,diff_array->get(r+1)-delta);}longlongpoint_query(intidx){// Atcoder's segtree prod function has range [l, r).
// Hence, we add + 1 to make inclusive range.
returndiff_array->prod(0,idx+1);}};voidsolve(){intn,m;cin>>n>>m;vector<longlong>a(n);vector<int>b(m);for(inti=0;i<n;i++){cin>>a[i];}for(inti=0;i<m;i++){cin>>b[i];}BlackBoxbox(n+5);for(inti=0;i<n;i++){box.range_inc(i,i,a[i]);}for(inti=0;i<m;i++){longlongtotal=box.point_query(b[i]),equal_split=total/n,remain=total%n;box.range_inc(b[i],b[i],-total);box.range_inc(0,n-1,equal_split);intstart=(b[i]+1)%n;if(start+remain-1<n){box.range_inc(start,start+remain-1,1);}else{box.range_inc(start,n-1,1);remain-=(n-1-start+1);box.range_inc(0,0+remain-1,1);}}for(inti=0;i<n;i++){cout<<box.point_query(i)<<" ";}cout<<endl;}intmain(){solve();return0;}