#include <bits/stdc++.h>
using namespace std;
int mojPow(int n) {
  if (n == 0)
    return 1;
  else if (n % 2 == 0) {
    return mojPow(n / 2) * mojPow(n / 2);
  } else {
    return mojPow(n / 2) * mojPow(n / 2) * 10;
  }
}
int main() {
  int n, m;
  cin >> n >> m;
  bool izasao = false;
  map<int, int> mapa;
  for (int i = 0; i < m; i++) {
    int s, c;
    cin >> s >> c;
    if (mapa.find(s) != mapa.end()) {
      if (mapa[s] != c) {
        izasao = true;
      }
    } else {
      mapa[s] = c;
    }
  }
  if (izasao) {
    cout << -1 << '\n';
    return 0;
  }
  for (int i = mojPow(n - 1); i < mojPow(n); i++) {
    string s = to_string(i);
    bool jelIzasao = false;
    for (map<int, int>::iterator it = mapa.begin(); it != mapa.end(); ++it) {
      if ((it->first - 1 > (int)s.size()) ||
          ((s[it->first - 1] - '0') != it->second)) {
        jelIzasao = true;
        break;
      }
    }
    if (!jelIzasao) {
      cout << i << '\n';
      return 0;
    }
  }
  cout << -1 << '\n';
  return 0;
}
