#include #include #include using namespace atcoder; using namespace std; #define rep(i,n) for (int i = 0; i < (n); ++i) #define Inf 1000000001 using P = pair; P op(P a,P b){ return max(a,b); } P e(){ return make_pair(-Inf,-1); } int op2(int a,int b){ return min(a,b); } int e2(){ return Inf; } int main(){ int n,q; cin>>n>>q; vector

temp(n); rep(i,n){ temp[i] = make_pair(Inf,i); } segtree seg(temp); vector l(q),r(q),b(q); rep(i,q){ scanf("%d %d %d",&l[i],&r[i],&b[i]); l[i]--; } vector t(q); rep(i,q)t[i] = i; sort(t.rbegin(),t.rend(),[&](int x,int y){ return b[x] seg2(n); rep(i,n){ seg2.set(i,seg.get(i).first); } rep(i,q){ if(seg2.prod(l[i],r[i])!=b[i]){ cout<<-1<