#include <bits/stdc++.h>
using namespace std;
const long long int MOD = 1e9 + 7;
const long long int INF = 1e18;
const long long int N = 1e6 + 20;
vector<long long int> g[N];
vector<long long int> vis(N);
int32_t main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  long long int tc = 1;
  while (tc--) {
    long long int n, m;
    cin >> n >> m;
    string s;
    for (long long int i = 0; i < n; i++) {
      s += '0';
    }
    map<long long int, set<char>> mp;
    for (long long int i = 0; i < m; i++) {
      long long int pos;
      char d;
      cin >> pos >> d;
      pos--;
      mp[pos].insert(d);
    }
    long long int flag = 0;
    for (auto i : mp) {
      if (i.second.size() > 1) {
        flag = 1;
      } else {
        s[i.first] = *i.second.begin();
      }
    }
    if (n > 1 and s[0] == '0') {
      flag = 1;
    }
    if (!flag) {
      cout << s << '\n';
    } else {
      cout << "-1\n";
    }
  }
}
