(n,m),a,*q=$<.map{|e|e.split.map &:to_i} h=Hash.new{|h,k|h[k]=[]} q.each{|u,v|h[u-1]<a[e] } [h0,h1].map{|g| x=g.values.reduce(0,:+) x=x*~-x/2 g.each_value{|w|x-=w*~-w/2} x }.reduce(:+)>0 # 門松パスの個数 } ? :YES : :NO