#include <bits/stdc++.h>
using namespace std;
using P = pair<int, int>;
int digit(int n) {
  if (n < 10) {
    return 1;
  }
  return digit(n / 10) + 1;
}
string int_to_string(int n) {
  string res = "";
  if (n == 0) {
    res = '0';
  }
  while (n) {
    char tmp = (n % 10) + '0';
    res = tmp + res;
    n /= 10;
  }
  return res;
}
int main() {
  int n, m;
  cin >> n >> m;
  vector<P> sc;
  for (int i = 0; i < (m); i++) cin >> sc[i].first >> sc[i].second;
  for (int i = 0; i < (1000); i++) {
    int keta = 1;
    int ni = i / 10;
    vector<int> d(1, i % 10);
    while (ni) {
      keta++;
      d.push_back(ni % 10);
      ni /= 10;
    }
    reverse((d).begin(), (d).end());
    if (keta != n) continue;
    bool flag = true;
    for (int j = 0; j < (m); j++) {
      if (d[sc[j].first - 1] != sc[j].second) {
        flag = false;
      }
    }
    if (flag) {
      cout << i << '\n';
      return 0;
    }
  }
  cout << -1 << '\n';
  return (0);
}
