#include<bits/stdc++.h>
using namespace std;
long long int n,m;
long long int start[1000010];
long long int en[1000010];
long long int num[1000010],jiaoshi[1000010];
long long int chafen[1000010],ls[1000010];
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++){
cin>>jiaoshi[i];
}
for(int i=1;i<=n;i++){
chafen[i]=jiaoshi[i]-jiaoshi[i-1];
}
for(int i=1;i<=m;i++){
cin>>num[i]>>start[i]>>en[i];
}
int l=0;
int r=m;
while(l<r){
memset(ls,0,n);
int mid=(l+r)/2;
for(int i=1;i<=mid;i++){
chafen[start[i]]-=num[i];
chafen[en[i]]+=num[i];
}
ls[1]=chafen[1];
for(int i=2;i<=n;i++){
ls[i]=ls[i-1]+chafen[i];
if(ls[i]<0){
r=mid;
for(int i=1;i<=n;i++){
chafen[i]=jiaoshi[i]-jiaoshi[i-1];
}
continue;
}
}
l=mid+1;
for(int i=1;i<=n;i++){
chafen[i]=jiaoshi[i]-jiaoshi[i-1];
}
}
if(r==m){
cout<<0;
}
else{
cout<<-1<<endl;
cout<<r;
}
return 0;
}