#include <bits/stdc++.h>
int main() {
  int n, m, i, j, a[5], b[5], c[4] = {0}, t, s = 0, flag = 0;
  scanf("%d%d", &n, &m);
  for (i = 0; i < m; i++) {
    scanf("%d%d", &a[i], &b[i]);
  }
  if (m == 0) {
    if (n == 1)
      printf("0");
    else
      printf("%d", pow(10, n - 1));
  } else {
    for (i = 1; i < m; i++) {
      for (j = 0; j < m - i; j++) {
        if (a[j] > a[j + 1]) {
          t = a[j];
          a[j] = a[j + 1];
          a[j + 1] = t;
          t = b[j];
          b[j] = b[j + 1];
          b[j + 1] = t;
        }
      }
    }
    for (i = 0; i < m - 1; i++) {
      if ((a[i] == a[i + 1]) && (b[i] != b[i + 1])) {
        printf("-1");
        return 0;
      }
      if (((a[i] == 1) && (b[i] == 0)) ||
          ((a[i + 1] == 1) && (b[i + 1] == 0))) {
        flag = 1;
      }
      c[a[i]] = b[i];
    }
    if (a[0] == 1 && b[0] == 0 && flag == 0) {
      flag = 1;
    }
    c[a[m - 1]] = b[m - 1];
    if (c[1] == 0) {
      if (n == 1) {
        printf("0");
        return 0;
      }
      if (flag == 1) {
        printf("-1");
        return 0;
      }
      c[1] = 1;
    }
    for (i = 1; i <= n; i++) s = 10 * s + c[i];
    printf("%d", s);
  }
  return 0;
}
