#include <bits/stdc++.h>
using namespace std;
#ifndef lisie_bimbi
#define endl '\n'
#pragma GCC optimize("O3")
#pragma GCC target("avx,avx2,bmi2,fma")
#endif
using ll = long long;
const ll inf = 1'000'000'000'000'000'000;
void solve(){
int n, q;
cin >> n >> q;
vector<ll> x(n), w(q);
for(int i = 0; i < n; i++){
cin >> x[i];
}
for(int i = 0; i < q; i++){
cin >> w[i];
}
vector<ll> shift(q + 1), mn(q + 1), mx(q + 1);
for(int i = 0; i < q; i++){
shift[i + 1] = shift[i] + w[i];
}
mn[0] = mx[0] = 0;
for(int i = 1; i <= q; i++){
mn[i] = min(mn[i - 1], shift[i]);
}
for(int i = 1; i <= q; i++){
mx[i] = max(mx[i - 1], shift[i]);
}
vector<ll> ans(n);
for(int i = 0; i < n - 1; i++){
int l = 0, r = q + 1;
while(l + 1 != r){
int m = (l + r) / 2;
if(x[i] + mx[m] < x[i + 1] + mn[m]){
l = m;
}else{
r = m;
}
}
ll z;
if(r > q){
z = mx[l];
}else{
z = min(mx[r], x[i + 1] - x[i] + mn[l]);
}
ans[i] += z;
}
ans[n - 1] += mx[q];
for(int i = n - 1; i > 0; i--){
int l = 0, r = q + 1;
while(l + 1 != r){
int m = (l + r) / 2;
if(x[i] + mn[m] > x[i - 1] + mx[m]){
l = m;
}else{
r = m;
}
}
ll z;
if(r > q){
z = -mn[l];
}else{
z = min(-mn[r], x[i] - x[i - 1] - mx[l]);
}
ans[i] += z;
}
ans[0] += -mn[q];
for(int i = 0; i < n; i++){
cout << ans[i] << endl;
}
cout << endl;
}
signed main(){
#ifdef lisie_bimbi
freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);
#else
#endif
cin.tie(nullptr)->sync_with_stdio(false);
int t = 1;
//cin >> t;
while(t--){
solve();
}
}