

# gets.to_i
# gets.split.map(&:to_i)
# N.times.map{gets.to_i}
# N.times.map{gets.split.map(&:to_i)}
# 

N,M=gets.split.map(&:to_i)
ans=Array.new(N,-1)
M.times do 
    s,c=gets.split.map(&:to_i)
    s-=1
    p [s,c]
    if ans[s]!=-1 && ans[s]!=c
        puts -1
        exit
    end
    if N!=1 && s==0 && c==0
        puts -1
        exit
    end
    ans[s]=c
end
ans.each_with_index do |n,i|
    if i==0
        if n==-1
            print 1
        else
            print n
        end
    elsif n==-1
        print 0
    else
        print n
    end
end
puts