#include using namespace std; #include using namespace atcoder; #define rep(i,a,b) for(int i=a;i>n>>q; vector>> g(n); rep(i,0,q){ int l,r,b;cin>>l>>r>>b; g[l-1].emplace_back(b,r); } priority_queue> que; vector a(n); que.push({1,n}); rep(i,0,n){ for(auto j:g[i])que.push(j); while(que.top().second<=i)que.pop(); a[i]=que.top().first; } segtree seg(a); rep(i,0,n)for(auto [v,j]:g[i]) if(seg.prod(i,j)!=v){ cout<<-1<