#include <bits/stdc++.h>
using namespace std;
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 (a > b) {
    a = b;
    return 1;
  }
  return 0;
}
int dx[] = {0, 0, -1, 1};
int dy[] = {1, -1, 0, 0};
int main() {
  cin.tie(0);
  ios::sync_with_stdio(false);
  int N, M;
  cin >> N >> M;
  vector<int> s(M);
  vector<char> c(M);
  for (int i = 0; i < (int)(M); i++) cin >> s[i] >> c[i];
  vector<int> v(M);
  v = s;
  v.erase(unique(v.begin(), v.end()), v.end());
  if (s.size() != v.size()) {
    puts("-1");
    return 0;
  }
  string ans = "1";
  for (int i = 0; i < (int)(N - 1); i++) ans += '0';
  for (int i = 0; i < (int)(M); i++) {
    ans[s[i] - 1] = c[i];
  }
  cout << ans << endl;
}
