n, m = gets.split(" ").map(&:to_i)
t = []
m.times do
  t << gets.split(" ").map(&:to_i)
end

# 各桁(キー)の最小値を入れる配列
# saiyo = [0, 0, 0]
saiyo = Array.new(n, 0)


# 0~nの各キーを持つ配列の, 値のばらつきの有無

error = 0

for i in 1..n do
  # 同じキーの最小値を求める
  $kouho = 10
  t.each do |e|
    # キーにiを持つならば
    if e[0] == i
      # 初回限定
      if $kouho == 10
        $kouho = e[1]
      end

      if e[1] == $kouho
        # kouhoは候補。 同じキーの異値が見つかったらerrorカウント
        $kouho = e[1]
      else
        # kouho の値に散らばりがあったら-1を出して抜ける
        error += 1
        puts -1
        exit
      end
    end
  end
  if $kouho != 10
    saiyo[i-1] = $kouho
  end
end

if saiyo[0] == 0
  p -1
else
  #p saiyo
  puts saiyo.join
end