N, M = gets.split.map(&:to_i)
s, c = M.times.map{gets.split.map(&:to_i)}.transpose

num = 0
q = Array.new(3, 0)
M.times do |i|
  if q[s[i] - 1] != 0
    if q[s[i] - 1] < c[i]
      next
    end
  end
  q[s[i] - 1] = c[i]
end

1000.times do |i|
  num_str = num.to_s
  if num_str[0].to_i == q[0] && num_str[1].to_i == q[1] && num_str[2].to_i == q[2] && num_str.length == N
    puts num
    exit
  end
  num += 1
end
puts -1
