#include <bits/stdc++.h>
using namespace std;
const int maxn = 300000 + 10;
const int inf = (-1u) >> 1;
struct Segment_Tree {
  struct node {
    int l, r, num;
  };
  node n[maxn << 2];
  void build(int l, int r, int id = 0) {
    n[id].num = 0;
    n[id].l = l, n[id].r = r;
    if (l == r) return;
    build(l, (l + r) >> 1, (id << 1) + 1);
    build(((l + r) >> 1) + 1, r, (id << 1) + 2);
  }
  void update(int l, int r, int x, int id = 0) {
    if (l == n[id].l && r == n[id].r) {
      n[id].num = x;
      return;
    }
    if (n[id].num >= 0) {
      n[(id << 1) + 1].num = n[(id << 1) + 2].num = n[id].num;
      n[id].num = -1;
    }
    int mid = (n[id].l + n[id].r) >> 1;
    if (r <= mid)
      update(l, r, x, (id << 1) + 1);
    else if (l > mid)
      update(l, r, x, (id << 1) + 2);
    else {
      update(l, mid, x, (id << 1) + 1);
      update(mid + 1, r, x, (id << 1) + 2);
    }
  }
  int query(int l, int r, int id = 0) {
    if (l == n[id].l && r == n[id].r) {
      if (n[id].num >= 0)
        return n[id].num * (n[id].r - n[id].l + 1);
      else
        return query(l, (l + r) >> 1, (id << 1) + 1) +
               query(((l + r) >> 1) + 1, r, (id << 1) + 2);
    }
    if (n[id].num >= 0) {
      n[(id << 1) + 1].num = n[(id << 1) + 2].num = n[id].num;
      n[id].num = -1;
    }
    int mid = (n[id].l + n[id].r) >> 1;
    if (r <= mid)
      return query(l, r, (id << 1) + 1);
    else if (l > mid)
      return query(l, r, (id << 1) + 2);
    else
      return query(l, mid, (id << 1) + 1) + query(mid + 1, r, (id << 1) + 2);
  }
};
Segment_Tree st;
struct node {
  int a, b, c;
  void input() { scanf("%d%d%d", &a, &b, &c); }
};
node c[maxn];
int n, m;
int main() {
  scanf("%d%d", &n, &m);
  for (int i = 0; i < m; ++i) {
    c[i].input();
  }
  reverse(c, c + m);
  st.build(1, n);
  for (int i = 0; i < m; ++i) {
    if (c[i].a <= c[i].c - 1) {
      st.update(c[i].a, c[i].c - 1, c[i].c);
    }
    if (c[i].c + 1 <= c[i].b) {
      st.update(c[i].c + 1, c[i].b, c[i].c);
    }
  }
  for (int i = 1; i <= n; ++i) {
    printf("%d%c", st.query(i, i), i == n ? '\n' : ' ');
  }
  return 0;
}
