#include <bits/stdc++.h>
using namespace std;
const double PI = acos(-1.0);
const double eps = 1e-8;
const int MAXN = 1e5 + 5;
const long long MOD = 1e9 + 7;
int main() {
  vector<int> vec[4];
  int n, m, s, c, ans = 0;
  cin >> n >> m;
  for (int i = (1); i <= (m); i++) {
    cin >> s >> c;
    vec[s].push_back(c);
  }
  for (int i = (1); i <= (3); i++) {
    if (!vec[i].empty()) sort(vec[i].begin(), vec[i].end());
  }
  if (n == 1) {
    if (!vec[1].empty()) ans = vec[1][0];
  } else {
    if (vec[1].empty() || !vec[1][vec[1].size() - 1])
      ans = -1;
    else {
      for (int i = (0); i <= (vec[1].size() - 1); i++) {
        if (vec[1][i]) {
          ans = vec[1][i];
          break;
        }
      }
      for (int i = (2); i <= (n); i++) {
        if (!vec[i].empty())
          ans = ans * 10 + vec[i][0];
        else
          ans *= 10;
      }
    }
  }
  cout << ans << endl;
  return 0;
}
