#include #define ALL(v) std::begin(v),std::end(v) using lint=long long; using ld=long double; templateusing numr=std::numeric_limits; int main(){ std::cin.tie(nullptr);std::ios_base::sync_with_stdio(false); std::cout.setf(std::ios_base::fixed);std::cout.precision(15); lint n,m;std::cin>>n>>m; std::vector>a(m); for(lint i=0;i>l>>r>>c;l--; a.at(i)={l,r,c}; } std::reverse(ALL(a)); lint k=std::sqrt(n); std::string ans(n,'$'),lazy(n/k+1,'$'); for(auto[l,r,c]:a){ lint L=l/k,R=r/k; if(lazy.at(L)!='$')for(lint i=L*k;i<(L+1)*k;i++)ans.at(i)=lazy.at(L); if(lazy.at(R)!='$')for(lint i=R*k;i<(R+1)*k;i++)ans.at(i)=lazy.at(R); lazy.at(L)=lazy.at(R)='$'; for(;l