#include <bits/stdc++.h>
using namespace std;
template <class T>
bool chmax(T &a, const T &b) {
  if (a < b) {
    a = b;
    return 1;
  }
  return 0;
}
template <class T>
bool chmin(T &a, const T &b) {
  if (b < a) {
    a = b;
    return 1;
  }
  return 0;
}
int main() {
  int N, M;
  cin >> N >> M;
  vector<int *> c = vector<int *>(N, nullptr);
  for (int i = 0; i < M; i++) {
    int si, ci;
    cin >> si >> ci;
    if (c[si - 1]) {
      if (*c[si - 1] != ci) {
        cout << "-1" << endl;
        return 0;
      }
    }
    c[si - 1] = new int(ci);
  }
  for (int i = 0; i < N; i++) {
    if (c[i]) {
      if (N != 1 && *c[i] == 0) {
        cout << "-1" << endl;
        return 0;
      }
      cout << *(c[i]);
    } else {
      if (i == 0 && N != 1) {
        cout << '1';
      } else {
        cout << '0';
      }
    }
  }
  cout << endl;
  return 0;
}
