#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);//0-indexed、半開区間で扱う } priority_queue> que; vector a(n); que.push({1,n});//番兵 rep(k,0,n){ for(auto j:g[k])que.push(j); while(que.top().second<=k)que.pop();//l_i<=k seg(a); rep(i,0,n)for(auto [v,j]:g[i]) if(seg.prod(i,j)!=v){ cout<<-1<