#include<iostream>
#include<unordered_map>
using namespace std;
int N,M,s,c;
int main(){
    cin>>N>>M;
    unordered_map<int,int>m;
    for(int i=0;i<M;i++){
        cin>>s>>c;
        if(m.count(s)!=0&&m[s]!=c){cout<<-1<<endl;return 0;}
        m[s]=c;
    }
    for(int i=0;i<1000;i++){
        string num=to_string(i);
        if(num.size()!=N)continue;
        bool f=true;
        for(auto x:m)f&=(num[x.first-1]=='0'+x.second);
        if(f){cout<<num<<endl;return 0;}
    }
    cout<<-1<<endl;
    return 0;
}