#include <stdlib.h>
#include <cmath>
#include <iostream>
#include <vector>
#include <utility>
#include <algorithm>
using namespace std;

int main(){
  int N,M;
  cin >> N >> M;

  vector<vector<int>> sc(M,vector<int>(2));
  for(int i=0;i<M;i++){
    cin >> sc.at(i).at(0) >> sc.at(i).at(1);
  }
  sort(sc.begin(),sc.end());

  vector<int> ans(N,0);
  vector<int> flag(N,0);
  for(int i=0;i<M;i++){
    if(sc.at(i).at(0)==1 && sc.at(i).at(1)==0){
      cout << -1 << endl;
      return 0;
    }
    if(flag.at(sc.at(i).at(0)-1)==1){
      if(sc.at(i).at(1)!=ans.at(sc.at(i).at(0)-1)){
	cout << -1 << endl;
	return 0;
      }
    }
    ans.at(sc.at(i).at(0)-1)=sc.at(i).at(1);
    flag.at(sc.at(i).at(0)-1)=1;
  }
  int ret=0;
  if(flag.at(0)==0){
    ret=pow(10,N-1);
  }
  for(int i=0;i<N;i++){
    if(flag.at(i)==1)
      ret += ans.at(i)*pow(10,(N-1)-i);
  }
  cout << ret << endl;

  return 0;
}
