'use strict'
function main(inp) {
  // 情報の切り分け
  inp = inp.trim().split('\n').map(x => x.split(' '));
  // 桁数
  const N = inp[0][0]*1;
  // 後ろに続く配列の数
  const M = inp[0][1]*1;
  let ansArr = new Array(3).fill(null);
  let ans = -1;
  
  // 1からなのは最初の情報を除いてないから
  for(let i = 1; i < M; i++){
    // inp[i][0]が桁数(0スタートなので-1)
    // inp[i][1]が数字
	if((ansArr[inp[i][0] - 1] === null) || (ansArr[inp[i][0] - 1] == inp[i][1])) {
    	ansArr[inp[i][0] - 1] = inp[i][1];
    } else {
        break;
    }
  }
  // 桁埋め用のコード
  if(ansArr[1]==null){
  	ansArr[1] = 0;
  }
  if(ansArr[2]==null){
  	ansArr[2] = 0;
  }
  
  if(ansArr[0] !== null){
  	ans = ansArr.join('');
  }
  
  console.log(ans);
}

main(require('fs').readFileSync('/dev/stdin', 'utf8'));
