N, M = gets.split.map(&:to_i)
list = []

M.times do |i|
  s, c = gets.split.map(&:to_i)

  list[s] ||= c
  (puts -1; exit) if list[s] != c
end

(puts -1; exit) if list[1] == 0
list[1] ||= 1
list[2] ||= 0
list[3] ||= 0

puts 1.upto(N).inject(0) {|sum, i| sum + list[i] * 10 ** (N - i) }