#include <bits/stdc++.h>
using namespace std;

int main(){
  int N,M;
  int ju = 1;            //条件を満たす値が存在するかどうか
  cin >> N >> M;
  vector<int> ans(N,0);  //N桁で各桁が0で初期化された整数
  if(N != 1){
    ans.at(0) = 1;
  }
  
  for(int i = 0;i < M;i++){
    int s,c;
    cin >> s >> c;
    s--;
    //一番左の桁が0で答えが0でないとき
    if(s == 0 && c == 0 && N != 1){
      ju = 0;
      break;
    }
    if(  (ans.at(s) == 0)   || (s == 0 && N != 1 && ans.at(s) ==1){
      ans.at(s) = c;
    }else if(ans.at(s) != c){
      ju = 0;
      break;
    }
  }
  
  if(!ju){
    cout << -1;
  }else{
    for(int i = 0;i < N;i++){
      cout << ans.at(i);
    }
  }
  cout << endl;
}