#include<iostream>
#include<string>
using namespace std;
long long m,n;
long long d[1000003],s[1000003],t[1000003];
long long num[1000003]={0};
int check(long long x)
{
long long ans=0;
for(int i=1;i<=x;i++)
{
num[s[i]]-=d[i];
num[t[i]+1]+=d[i];
}
for(int i=1;i<=n;i++)
{
ans+=num[i];
if(ans<0)
{
for(int j=1;j<=x;j++)
{
num[s[j]]+=d[j];
num[t[j]+1]-=d[j];
}
return 0;
}
}
return 1;
}
int main()
{
int x=0,y;
cin>> n >> m;
for(int i=1;i<=n;i++)
{
cin>> y;
num[i]=y-x;
x=y;
}
for(int i=1;i<=m;i++)
{
cin>> d[i] >> s[i] >> t[i];
}
long long l=1,r=m;
long long mid;
while(l <= r)
{
mid = (l + r) >> 1;
if(check(mid)) l=mid+1;
else r=mid-1;
}
if(l>m) cout<< 0;
else
{
cout<< -1 << endl;
cout<< l;
}
return 0;
}