#include <bits/stdc++.h>
using namespace std;
int main() {
  int n, m, si, ci;
  cin >> n >> m;
  unordered_map<int, int> num;
  for (long long i = 0; i <= m - 1; i++) {
    cin >> si >> ci;
    if (num.find(si) != num.end() && num[si] != ci) {
      cout << -1;
      return 0;
    } else
      num[si] = ci;
  }
  int d1 = (num.find(1) == num.end()) ? 0 : num[1];
  int d2 = (num.find(2) == num.end()) ? 0 : num[2];
  int d3 = (num.find(3) == num.end()) ? 0 : num[3];
  if (d1 == 0 || (d1 == 0 && d2 == 0))
    cout << -1;
  else
    cout << d1 * 100 + d2 * 10 + d3;
}
