#include <bits/stdc++.h>
int inp() {
  char c = getchar();
  while (c < '0' || c > '9') c = getchar();
  int sum = 0;
  while (c >= '0' && c <= '9') {
    sum = sum * 10 + c - '0';
    c = getchar();
  }
  return sum;
}
int x[1000010], y[1000010];
bool used[1000010];
struct fhq_Treap {
  struct T {
    int lc;
    int rc;
    int v;
    int w;
    int size;
  } t[2000010];
  int root = 0;
  int cnt = 0;
  int cc = 0;
  void push_up(int cur) {
    t[cur].size = t[t[cur].lc].size + t[t[cur].rc].size + 1;
  }
  void split(int cur, int &a, int &b, int k) {
    if (!cur) {
      a = b = 0;
      return;
    }
    if (t[t[cur].lc].size >= k) {
      b = cur;
      split(t[cur].lc, a, t[b].lc, k);
      push_up(b);
    } else {
      a = cur;
      split(t[cur].rc, t[a].rc, b, k - t[t[cur].lc].size - 1);
      push_up(a);
    }
  }
  int merge(int a, int b) {
    if (!a || !b) return a + b;
    if (t[a].w < t[b].w) {
      t[a].rc = merge(t[a].rc, b);
      push_up(a);
      return a;
    } else {
      t[b].lc = merge(a, t[b].lc);
      push_up(b);
      return b;
    }
  }
  int begin() {
    int cur = root;
    while (t[cur].lc) cur = t[cur].lc;
    return t[cur].v;
  }
  void erase() {
    int x;
    split(root, x, root, 1);
  }
  void insert(int x, int pos) {
    int l, r;
    split(root, l, r, pos - 1);
    t[++cnt] = (T){0, 0, x, rand(), 1};
    root = merge(merge(l, cnt), r);
  }
  void print(int cur) {
    if (cur == 0) return;
    print(t[cur].lc);
    if (!t[cur].v) {
      cc++;
      while (used[cc]) cc++;
    }
    printf("%d ", t[cur].v ? t[cur].v : cc);
    print(t[cur].rc);
  }
} t;
int main() {
  int n = inp();
  int m = inp();
  for (int i = 1; i <= n; i++) t.insert(0, i);
  for (int i = 1; i <= m; i++) {
    x[i] = inp();
    y[i] = inp();
  }
  for (int i = m; i >= 1; i--) {
    int st = t.begin();
    if ((used[x[i]] && st != x[i]) || (st != x[i] && st != 0)) {
      printf("-1\n");
      return 0;
    }
    t.erase();
    t.insert(x[i], y[i]);
    used[x[i]] = true;
  }
  t.print(t.root);
  putchar('\n');
}
