#include <bits/stdc++.h>
using namespace std;
int N, M;
int s[5];
int c[5];
int main() {
  cin >> N >> M;
  for (int i = 0; i < M; i++) {
    cin >> s[i] >> c[i];
  }
  int flag1 = 1;
  int flag2 = 1;
  int flag3 = 1;
  int flag4 = 1;
  for (int i = 0; i <= 999; i++) {
    flag1 = 1;
    flag2 = 1;
    flag3 = 1;
    for (int j = 0; j < M; j++) {
      if (s[j] == 3) {
        if (i % 10 != c[j]) {
          flag1 = 0;
        }
      } else if (s[j] == 2) {
        if ((i - i / 100) / 10 != c[j]) {
          flag2 = 0;
        }
      } else {
        if (i / 100 != c[j]) {
          flag3 = 0;
        }
      }
    }
    if (i / 100 > 0) {
      if (N == 3) {
        flag4 = 1;
      } else {
        flag4 = 0;
      }
    } else if ((i - i / 100) / 10 > 0) {
      if (N == 2) {
        flag4 = 1;
      } else {
        flag4 = 0;
      }
    } else {
      if (N == 1) {
        flag4 = 1;
      } else {
        flag4 = 0;
      }
    }
    if (flag1 && flag2 && flag3 && flag4) {
      cout << i << endl;
      return 0;
    }
  }
  cout << -1 << endl;
  return 0;
}
