#include <bits/stdc++.h>
using namespace std;
int main() {
  long long p, N, jud, q;
  jud = 0;
  cin >> p;
  vector<int> keta(p + 1);
  for (int j = 1; j < p + 1; j++) {
    keta.at(j) = 0;
  }
  cin >> N;
  vector<int> vec(N * 2);
  for (int i = 0; i < N; i++) {
    cin >> vec.at(i * 2);
    cin >> vec.at(i * 2 + 1);
    if (vec.at(i * 2) == 1 && vec.at(i * 2 + 1) == 0 && p > 1) {
      jud = 100;
    }
    if (keta.at(vec.at(i * 2)) == 0) {
      keta.at(vec.at(i * 2)) = vec.at(i * 2 + 1);
    } else if (keta.at(vec.at(i * 2)) != vec.at(i * 2 + 1)) {
      jud = 100;
    }
  }
  if (keta.at(1) == 0) {
    keta.at(1) = 1;
  }
  for (int i = 1; i < p + 1; i++) {
    q = q + keta.at(p + 1 - i) * pow(10, i - 1);
  }
  if (jud == 0) {
    cout << q << endl;
  } else {
    cout << -1 << endl;
  }
}
