#include <bits/stdc++.h>
using namespace std;
int main() {
  int N, M;
  cin >> N >> M;
  vector<vector<int>> sc(M, vector<int>(2));
  for (int i = 0; i < M; i++) {
    for (int j = 0; j < 2; j++) {
      cin >> sc.at(i).at(j);
    }
  }
  sort(sc.begin(), sc.end());
  sc.erase(unique(sc.begin(), sc.end()), sc.end());
  int ans = 0;
  bool judge = true;
  for (int i = 0; i < sc.size(); i++) {
    if (sc.at(i).at(0) == 1 && sc.at(i).at(1) == 0 && N > 1) {
      ans = -1;
      break;
    }
    if (sc.at(i).at(0) == 1) {
      judge = false;
    }
    if (i != sc.size() - 1) {
      if (sc.at(i).at(0) == sc.at(i + 1).at(0) &&
          sc.at(i).at(1) != sc.at(i + 1).at(1)) {
        ans = -1;
        break;
      }
    }
    ans += sc.at(i).at(1) * pow(10, N - sc.at(i).at(0));
  }
  if (judge = true) {
    ans += pow(10, N - 1);
  }
  cout << ans << endl;
}
