#include <bits/stdc++.h>
using namespace std;
long long Pow(long long n, long long k) {
  long long ans = 1, a = n % 1000000007;
  while (k > 0) {
    if (k & 1) {
      ans *= a;
      ans %= 1000000007;
    }
    a *= a;
    a %= 1000000007;
    k >>= 1;
  }
  return ans;
}
int main(void) {
  int num, m, i, a, b, ans = 0;
  cin >> num >> m;
  vector<map<int, int>> d(num);
  for (i = 0; i < (m); i++) {
    cin >> a >> b;
    a--;
    d[a][b] = 0;
  }
  for (i = 0; i < (num); i++) {
    if (d[i].size() == 0) {
      if (i == 0) ans = Pow(10, num - 1);
    } else if (d[i].size() == 1) {
      ans += (*d[i].begin()).first * Pow(10, num - i - 1);
    } else {
      ans = -1;
      break;
    }
  }
  cout << ans << "\n";
  return 0;
}
