#include <bits/stdc++.h>
using namespace std;
using ll= long long;
using vi= vector<int>;
using vvi= vector<vi>;
using vd= vector<double>;
using vvd= vector<vd>;
using vc= vector<char>;
using vb= vector<bool>;
using vl= vector<ll>;
#define rep(i,x,n) for(int i=x; i<n; i++)
#define all(x) x.begin(), x.end()

struct Pair{
  int a;
  int b;
};

int dig(int a){
  int ans=1;
  for(int i=0; i<a; i++){
    ans*= 10;
  }
  return ans;
}

int main(){
  int n,m,s,c,max,ans;
  cin >> n >> m;
  vector<Pair> sc(m);
  rep(i,0,m){
    cin >> s >> c;
    sc[i].a= s;
    sc[i].b= c;
  }

  max=dig(n);
  for(int i=0; i<max+1; i++){
    for(int j=0; j<m; j++){
      if((string)i[sc[j].a-1]==(string)sc[j].b){
        ans=i;
      }
    }
    if(i==max)  ans=-1;
  }
  cout << ans;
}
