#include <bits/stdc++.h>
using namespace std;
const long long mod = 1000000007;
bool dbg = false;
long long gcd(long long a, long long b) {
  if (a % b == 0) {
    return (b);
  } else {
    return (gcd(b, a % b));
  }
}
long long lcm(long long a, long long b) { return (a / gcd(a, b)) * b; }
void solve() {}
int main() {
  int n, m;
  cin >> n >> m;
  vector<pair<int, int> > sc(m);
  for (int i = 0; i < m; i++) {
    cin >> sc.at(i).first >> sc.at(i).second;
  }
  vector<int> ans(n + 1);
  for (int i = 1; i <= n; i++) {
    ans.at(i) = 10;
  }
  for (int i = 0; i < m; i++) {
    if (ans.at(sc.at(i).first) == 10) {
      ans.at(sc.at(i).first) = sc.at(i).second;
    } else {
      if (ans.at(sc.at(i).first) != sc.at(i).second) {
        cout << -1 << endl;
        break;
      }
    }
    if (i == m - 1) {
      if (ans.at(1) != 0) {
        for (int i = 1; i <= n; i++) {
          if (i == 1) {
            if (ans.at(i) == 10) {
              cout << 1;
            } else {
              cout << ans.at(i);
            }
          } else {
            if (ans.at(i) == 10) {
              cout << 0;
            } else {
              cout << ans.at(i);
            }
          }
        }
        cout << endl;
      } else {
        cout << -1 << endl;
      }
    }
  }
}
