#include <bits/stdc++.h>
using namespace std;
const double eps = 1e-10;
const int INF = 0x3f3f3f3f;
const long long mod = 1e9 + 7;
const long long maxn = 1e6 + 5;
vector<int> V[5];
int main() {
  int n, m;
  bool ok = false;
  cin >> n >> m;
  for (int i = 1; i <= m; i++) {
    int s, c;
    cin >> s >> c;
    if (V[s].size() && V[s][0] == c) continue;
    V[s].push_back(c);
    if (V[i].size() > 1) {
      ok = true;
    }
  }
  if (n > 1 && V[1].size()) {
    if (V[1][0] == 0) {
      ok = true;
    }
  }
  long long res = 0;
  if (!V[1].size()) {
    res = 1;
  } else {
    res = V[1][0];
  }
  if (n > 1) {
    if (!V[2].size()) {
      res *= 10;
    } else {
      res = res * 10 + V[2][0];
    }
  }
  if (n == 3) {
    if (!V[3].size()) {
      res *= 10;
    } else {
      res = res * 10 + V[3][0];
    }
  }
  cout << (ok ? -1 : res);
  return 0;
}
