#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]=min(mn[i],now);
if(i>0) mx[i]=mx[i-1];
mx[i]=max(mx[i],now);
sum.push_back(mx[i]-mn[i]);
}
//for(int i=0;i<q;i++) cout << mn[i] << " " << mx[i] << "\n";
for(int i=1;i<=n;i++){
int ans=0;
// left
int idx=lower_bound(sum.begin(),sum.end(),a[i]-a[i-1])-sum.begin();
idx--;
int l=a[i-1]+mx[idx];
ans+=(min(-mn[idx+(idx==q-1?0:1)],a[i]-l));
//if(i==1) cout << ans << "\n";
// right
idx=lower_bound(sum.begin(),sum.end(),a[i+1]-a[i])-sum.begin();
idx--;
int r=a[i+1]+mn[idx];
ans+=(min(mx[idx+(idx==q-1?0:1)],r-a[i]));
cout << ans << "\n";
}
}