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.map! {|l| l ? l : 0 }
puts 1.upto(N).inject(0) {|sum, i| sum + list[i] * 10 ** (N - i) }