#include <bits/stdc++.h>
using namespace std;
inline long long mod(long long a, long long m) { return (a % m + m) % m; }
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 n, m, a[5], b[5];
int POW(int a, int b) {
  if (b < 1) return 1;
  int c = a;
  while (--b) c *= a;
  return c;
}
int num(int a, int b) { return a / POW(10, b) % 10; }
void solve() {
  cin >> n >> m;
  for (int i = 0; i < m; i++) {
    cin >> a[i] >> b[i];
  }
  for (int i = POW(10, n - 1); i < POW(10, n); i++) {
    bool ok = 1;
    for (int j = 0; j < 5; j++) {
      if (num(i, n - a[j]) == b[j]) continue;
      ok = 0;
      break;
    }
    if (ok) {
      cout << i << endl;
      return;
    }
  }
  cout << -1 << endl;
}
int main() {
  std::cin.tie(0);
  std::ios::sync_with_stdio(false);
  int t = 1;
  while (t--) {
    solve();
  }
  return 0;
}
