#include<bits/stdc++.h>
using namespace std;
#define int long long
int qu[1000005];
int zhi[1000005];
int l[1000005],r[1000005],z[1000005];
signed main(){
freopen("classrooms.in","r",stdin);
freopen("classrooms.out","w",stdout);
int n,m;
cin>>n>>m;
for(int i = 1;i<=n;i++){
cin>>zhi[i];
}
for(int i = 1;i<=m;i++){
cin>>z[i]>>l[i]>>r[i];
}
int li=1,ri=m;
int ans=0;
while(li<=ri){
int mid=(li+ri)/2;
for(int i = 1;i<=n;i++)qu[i]=0;
for(int i = 1;i<=mid;i++){
qu[l[i]]-=z[i];
qu[r[i]+1]+=z[i];
}
int pan=0;
for(int i = 1;i<=n;i++){
qu[i]+=qu[i-1];
if(qu[i]+zhi[i]<0){
pan=1;
break;
}
}
if(pan==1){
ans=mid;
ri=mid-1;
}
else li=mid+1;
}
if(ans==0)cout<<0;
else{
cout<<-1<<endl<<ans;
}
return 0;
}