#include #include #define int long long using namespace std; using namespace atcoder; using vec_int = vector; using vec_ii = vector; using vec_iii = vector; using vec_iiii = vector; using P = pair; using T = tuple; using ll = long long; using ld = long double; #define rep(i, n) for(int i = 0; i < (int)(n); i++) void cout_line(vector &a){ for(int i=0;i>N>>Q; vec_int l(Q), r(Q), B(Q); rep(i, Q)cin>>l.at(i)>>r.at(i)>>B.at(i); vector Qs(Q); rep(i, Q){ Qs.at(i) = make_tuple(B.at(i), l.at(i), r.at(i)); } sort(Qs.begin(), Qs.end()); reverse(Qs.begin(), Qs.end()); vec_int a(N, -1); lazy_segtree seg(a); rep(i, Q){ int b, L, R; tie(b, L, R) = Qs.at(i); L--; R--; int temp = seg.prod(L, R+1); /* cout<b){ cout<<-1<