#include <bits/stdc++.h>
using namespace std;
const int MAXN = 300005;
int parent[MAXN + 1];
int ans[MAXN];
int find(int i) {
if (parent[i] == i) return i;
return parent[i] = find(parent[i]);
}
int main() {
ios::sync_with_stdio(0); cin.tie(0);
int n, m;
cin >> n >> m;
for (int i = 1; i <= n + 1; i++) parent[i] = i;
for (int i = 0; i < m; i++) {
int l, r, x;
cin >> l >> r >> x;
int curr = find(l);
while (curr <= r) {
if (curr == x) {
// Nếu là chiến binh thắng, ta chỉ cần nhảy sang người kế tiếp
curr = find(curr + 1);
} else {
// Nếu là người thua, ta loại bỏ họ và nhảy tiếp
ans[curr] = x;
parent[curr] = find(curr + 1);
curr = find(curr); // Tìm người tiếp theo sau khi đã cập nhật parent
}
}
}
for (int i = 1; i <= n; i++) cout << ans[i] << " ";
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgpjb25zdCBpbnQgTUFYTiA9IDMwMDAwNTsKaW50IHBhcmVudFtNQVhOICsgMV07CmludCBhbnNbTUFYTl07CgppbnQgZmluZChpbnQgaSkgewogICAgaWYgKHBhcmVudFtpXSA9PSBpKSByZXR1cm4gaTsKICAgIHJldHVybiBwYXJlbnRbaV0gPSBmaW5kKHBhcmVudFtpXSk7Cn0KCmludCBtYWluKCkgewogICAgaW9zOjpzeW5jX3dpdGhfc3RkaW8oMCk7IGNpbi50aWUoMCk7CiAgICBpbnQgbiwgbTsKICAgIGNpbiA+PiBuID4+IG07CgogICAgZm9yIChpbnQgaSA9IDE7IGkgPD0gbiArIDE7IGkrKykgcGFyZW50W2ldID0gaTsKCiAgICBmb3IgKGludCBpID0gMDsgaSA8IG07IGkrKykgewogICAgICAgIGludCBsLCByLCB4OwogICAgICAgIGNpbiA+PiBsID4+IHIgPj4geDsKICAgICAgICAKICAgICAgICBpbnQgY3VyciA9IGZpbmQobCk7CiAgICAgICAgd2hpbGUgKGN1cnIgPD0gcikgewogICAgICAgICAgICBpZiAoY3VyciA9PSB4KSB7CiAgICAgICAgICAgICAgICAvLyBO4bq/dSBsw6AgY2hp4bq/biBiaW5oIHRo4bqvbmcsIHRhIGNo4buJIGPhuqduIG5o4bqjeSBzYW5nIG5nxrDhu51pIGvhur8gdGnhur9wCiAgICAgICAgICAgICAgICBjdXJyID0gZmluZChjdXJyICsgMSk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAvLyBO4bq/dSBsw6AgbmfGsOG7nWkgdGh1YSwgdGEgbG/huqFpIGLhu48gaOG7jSB2w6AgbmjhuqN5IHRp4bq/cAogICAgICAgICAgICAgICAgYW5zW2N1cnJdID0geDsKICAgICAgICAgICAgICAgIHBhcmVudFtjdXJyXSA9IGZpbmQoY3VyciArIDEpOyAKICAgICAgICAgICAgICAgIGN1cnIgPSBmaW5kKGN1cnIpOyAvLyBUw6xtIG5nxrDhu51pIHRp4bq/cCB0aGVvIHNhdSBraGkgxJHDoyBj4bqtcCBuaOG6rXQgcGFyZW50CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgZm9yIChpbnQgaSA9IDE7IGkgPD0gbjsgaSsrKSBjb3V0IDw8IGFuc1tpXSA8PCAiICI7CiAgICByZXR1cm4gMDsKfQ==