#include <bits/stdc++.h>
int main(void) {
  int N, M, d, e, check = 0, keta, jyousuu, i;
  scanf("%d", &N);
  scanf("%d", &M);
  int s[M], c[M], A[N];
  for (i = 0; i < M; i++) {
    scanf("%d", &s[i]);
    scanf("%d", &c[i]);
  }
  for (i = 0; i < N; i++) {
    A[i] = 0;
  }
  for (i = 0; i < M; i++) {
    for (int j = i + 1; j < M; j++) {
      if (s[i] < s[j]) {
        d = s[i];
        s[i] = s[j];
        s[j] = d;
        d = c[i];
        c[i] = c[j];
        c[j] = d;
      }
    }
  }
  for (i = 0; i < M - 1; i++) {
    e = i + 1;
    if (s[i] == s[e]) {
      if (c[i] != c[e]) {
        printf("-1\n");
        check += 1;
      }
    }
  }
  if (N < s[0]) {
    printf("-1\n");
    check += 1;
  } else {
    i = M - 1;
    if (s[i] == 1) {
      if (c[i] == 0) {
        printf("-1\n");
        check += 1;
      }
    } else {
      i = N - 1;
      A[i] = 1;
    }
    for (i = 0; i < M; i++) {
      keta = s[i] - 1;
      A[keta] = c[i];
    }
    if (check == 0) {
      int a = 0, x;
      for (i = 0; i < N; i++) {
        jyousuu = 1;
        x = N - i - 1;
        for (int k = 0; k < i; k++) jyousuu *= 10;
        a += A[x] * jyousuu;
      }
      printf("%d", a);
    }
  }
  return 0;
}
