#include<bits/stdc++.h>
#define PI pair<int,int>
#define endl '\n'
using namespace std;
const int N=2e5+10,M=200010;
const int MOD=317847191;
const int INF=0x3f3f3f3f;
int n,m;
priority_queue<pair<int,PI>,vector<pair<int,PI>>,greater<pair<int,PI>>> que;
int v[N];
signed main(){
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
cin>>n>>m;
for(int i=1;i<=n;i++) cin>>v[i];
for(int i=0;i<m;i++){
int a,b,c,d;
cin>>a>>b>>c>>d;
while(que.size()&&que.top().first<=a){
v[que.top().second.first]+=que.top().second.second;
que.pop();
}
if(v[b]<d) {cout<<-1<<endl;continue;}
v[b]-=d;
cout<<v[b]<<endl;
que.push({a+c,{b,d}});
}
}