#include <bits/stdc++.h>
using namespace std;
int keta(int N) {
  string s = to_string(N);
  return s.size();
}
int ketanum(int N, int x) {
  for (int i = 0; i < x - 1; i++) {
    N /= 10;
  }
  return N % 10;
}
int lketanum(int N, int x) {
  int k = keta(N);
  return ketanum(N, k + 1 - x);
}
int main() {
  int N, M;
  cin >> N >> M;
  vector<pair<int, int> > sc(M);
  for (int i = 0; i < M; i++) {
    int s, c;
    cin >> s >> c;
    sc.at(i) = make_pair(s, c);
  }
  int mini = 1;
  for (int i = 0; i < N - 1; i++) {
    mini *= 10;
  }
  int result = mini;
  while (result < mini * 10) {
    bool flag = true;
    for (int i = 0; i < M; i++) {
      if (lketanum(result, sc.at(i).first) != sc.at(i).second) {
        flag = false;
        break;
      }
    }
    if (flag) break;
    result++;
  }
  if (result >= mini * 10) result = -1;
  cout << result << endl;
}
