#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
using namespace std;
using namespace __gnu_pbds;
template <class T> using Tree=tree<T,null_type,less<T>,rb_tree_tag,tree_order_statistics_node_update>;
#define int long long
const int N=2e5+5;
const int INF=1e18+10;
int n,q,a[N],mn[N],mx[N],now;
vector <int> sum;
signed main()
{
ios::sync_with_stdio(0);
cin.tie(0);
cin >> n >> q;
for(int i=1;i<=n;i++) cin >> a[i];
a[0]=-INF,a[n+1]=INF;
for(int i=0;i<q;i++){
int x;
cin >> x;
now+=x;
//if(i>0) mn[i]=mn[i-1];
mn[i+1]=min(mn[i],now);
//if(i>0) mx[i]=mx[i-1];
mx[i+1]=max(mx[i],now);
sum.push_back(mx[i+1]-mn[i+1]);
}
for(int i=1;i<=n;i++){
int ans=0;
int idx=lower_bound(sum.begin(),sum.end(),a[i]-a[i-1])-sum.begin();
idx--;
//if(idx<0) cout << 1/0;
int l=a[i-1]+mx[idx+1];
ans+=(min(-mn[idx+1+(idx==q-1?0:1)],a[i]-l));
idx=lower_bound(sum.begin(),sum.end(),a[i+1]-a[i])-sum.begin();
idx--;
//if(idx<0) cout << 1/0;
int r=a[i+1]+mn[idx+1];
ans+=(min(mx[idx+1+(idx==q-1?0:1)],r-a[i]));
cout << ans << "\n";
}
}