#include <bits/stdc++.h>
using namespace std;
struct node {
  int a;
  int b;
  int c;
  int d;
  int e;
} s[200], s2[100];
int cmp(node x, node y) { return x.b < y.b; }
int main() {
  int i, j = 0, k = 0, m, n, flag;
  scanf("%d %d", &m, &n);
  for (i = 0; i < n; i++) {
    scanf("%d %d %d", &s[i].a, &s[i].b, &s[i].c);
    s[i].d = j;
    j++;
    s2[i].a = s[i].a;
    s2[i].b = s[i].b;
    s2[i].c = s[i].c;
  }
  sort(s, s + n, cmp);
  sort(s2, s2 + n, cmp);
  for (i = 1; i <= m; i++) {
    for (j = 0; j < n; j++) {
      if (i == s2[j].b && s2[j].c == 0) break;
      if (i == s2[j].b && s2[j].c != 0) {
        printf("-1\n");
        return 0;
      }
      if (s2[j].a <= i && s2[j].c != 0) {
        s2[j].c--;
        break;
      }
    }
  }
  for (i = 1; i <= m; i++) {
    flag = 0;
    for (j = 0; j < n; j++) {
      if (i == s[j].b && s[j].c == 0) {
        printf("%d ", n + 1);
        flag = 1;
        break;
      }
      if (i == s[j].b && s[j].c != 0) {
        printf("-1\n");
        return 0;
      }
      if (s[j].a <= i && s[j].c != 0) {
        s[j].c--;
        printf("%d ", s[j].d + 1);
        flag = 1;
        break;
      }
    }
    if (flag == 0) printf("0 ");
  }
  return 0;
}
