#include <bits/stdc++.h>
using namespace std;
#define fileIO(s) freopen(s".in", "r", stdin), freopen(s".out", "w", stdout);
#define y1 why_not_can_not_use_y1
typedef long long ll;
typedef unsigned long long ull;
constexpr int inf = 0x3f3f3f3f;
constexpr int MAXN = 1145140;
int inline width(ll n){
return floor(log10(n)) + 1;
}
int n, m;
int r[MAXN], d, s, t;
int dif[MAXN], sum[MAXN];
int main(){
cin >> n >> m;
for(int i = 1; i <= n; i++){
cin >> r[i];
}
for(int i = 1; i <= m; i++){
cin >> d >> s >> t;
dif[s] -= d;
dif[t + 1] += d;
}
for(int i = 1; i <= n; i++){
sum[i] += dif[i];
if(sum[i] + r[i] < 0){
cout << -1 << endl << i;
return 0;
}
}
cout << 0;
return 0;
}