{
  int num[6][2];
  int N, M;
  cin >> N >> M;
  

    
  for(int i = 0; i < M; i++){
    cin >> num[i][0] >> num[i][1]; 
  }
  
  int p = 0;
  while(true){
    bool kaku = 1;
    string S = to_string(p);
    
    if(S.size() < N){
        p++;
        continue;
    }
    for(int j = 0; j < M; j++){
     if(S.at(num[j][0]-1) != num[j][1]){
         p++;
         continue;
    }
    
    if(kaku == 1){
     cout << p << endl;
      break;
    }
    else if(S.size() > N){
      cout << -1 << endl;
      break;
    }
    else p++;
    
  }
  
  
  
}
}
}