N, M = gets.split.map(&:to_i)
s, c = [], []
flag = false
hash = {}
M.times do |i|
  s[i], c[i] = gets.split.map(&:to_i)
  if hash[s[i]] == nil
    hash[s[i]] = c[i]
  # 同じ桁数に異なる2つの数が要求された場合，-1出力
  elsif hash[s[i]] != c[i]
    flag = true
  end
end

# puts "#{hash}"

# 左から1桁目が0かつ桁数が2以上の時，-1出力
if hash[1] == 0 and N >= 2
  flag = true
end

if flag
  puts -1
  exit
end

# ansは最初はN個の'0'で埋めておく
ans = []
ans = ans.fill('0',0..N-1)

hash.each do |key, val|
  ans[key-1] = val.to_s
end 

puts "#{ans.inject(:+)}"