#include <bits/stdc++.h>
struct SS {
  int a;
  int b;
} SS[10];
int main() {
  int i, j, n, m, sun;
  char x[10];
  scanf("%d%d", &n, &m);
  sun = 0;
  for (i = 0; i < m; i++) {
    scanf("%d%d", &SS[i].a, &SS[i].b);
    if (n > 1 && SS[i].a == 1 && SS[i].b == 0) sun++;
    if (SS[i].a > n) sun++;
  }
  if (sun != 0) {
    printf("-1\n");
    return 0;
  }
  x[0] = '1';
  for (i = 1; i < n; i++) x[i] = '0';
  for (i = 0; i < m; i++) {
    for (j = 0; j < m; j++) {
      if (SS[i].a == SS[j].a && SS[i].b != SS[j].b) sun++;
    }
  }
  if (sun != 0) {
    printf("-1\n");
    return 0;
  }
  for (i = 0; i < n; i++) {
    x[SS[i].a - 1] = (SS[i].b + '0');
  }
  for (i = 0; i < n; i++) printf("%c", x[i]);
  printf("\n");
  return 0;
}
