#include <bits/stdc++.h>
using namespace std;
typedef struct {
  int x, y;
} T;
T k[5];
int main() {
  int n, m, a, b, flag = 0, sum, i;
  scanf("%d%d", &n, &m);
  for (i = 1; i <= n; i++) {
    if (i == 1)
      k[i].x = 1;
    else
      k[i].x = 0;
    k[i].y = 0;
  }
  while (m--) {
    scanf("%d%d", &a, &b);
    if (a == 1 && b == 0) {
      flag = 1;
      break;
    }
    if (k[a].y == 0 || k[a].x == b) {
      k[a].x = b;
      k[a].y = 1;
    } else {
      flag = 1;
      break;
    }
  }
  if (flag == 1)
    printf("%d", -1);
  else {
    sum = 0;
    for (i = 1; i <= n; i++) sum = sum * 10 + k[i].x;
    printf("%d", sum);
  }
}
