#include <iostream>//cout<<right で右揃え
#include <iomanip>//cout<<stw(数字) で空白による桁揃え
#include <string>
#include <vector>
#include <algorithm>
#include <cstdlib>//abs()で整数絶対値
#include <cmath>//abs()かfabs()で少数絶対値

using namespace std;

int main(void){
    int N,M;cin>>N>>M;
    vector<int> digit(N+1,-1);
    int s = 0;
    int alt = 0;
    int ans = 0;
    int end = 0;
    for(int i=0;i<M;i++){
        cin >> s;
        alt = digit[s];
        cin >> digit[s];
        if(alt!=-1&&alt!=digit[s]){
            end = 1;
          break;
        }
        if(digit[1]==0&&N!=1){
            end = 1;
          break;
        }else if(digit[1]==0&&N==1){
            end = 2;
          break:
        }
    }
    if(end==1){
        cout << -1 << endl;
    }else if(end==2){
        cout << 0 << endl;
    }else{
        for(int i=1;i<=N;i++){
            if(digit[i]==-1){
                if(i==1){
                    digit[i] = 1;
                }else{
                    digit[i] = 0;
                }
            }
        }
        for(int i=1;i<=N;i++){
            ans += digit[i]*pow(10,N-i);
        }
        if(M!=0){
            cout << ans << endl;
        }else if(M==0){
            if(N==1){
                cout << 0 << endl;
            }else{
                cout << pow(10,N-1);
            }
        }
    }
}
