def input_n
  gets.to_i               # 単一整数
end

def input_s
  gets.chomp              # 文字列。chompを付けないと改行文字がついてくる
end

def input_a
  gets.split.map(&:to_i)  # スペースで区切られた複数の整数
end

def input_o(num)
  num.times.map { gets.to_i }  # 縦に並んだ複数の整数。たまにある
end

def output_f(num)
  puts sprintf("%.12f", num)
end

n, m = input_a
s, c = m.times.map{gets.split.map(&:to_i)}.transpose

1000.times do |num|
  numbers = num.to_s.chars.map(&:to_i)
  if numbers.length == n
    cnt = Array.new(m, 0)
    m.times do |i|
      cnt[i] += 1 if numbers[s[i] - 1] == c[i]
    end
    if cnt.inject(:+) == m
      puts num
      exit
    end
  end
end
puts -1