line1 = gets abort "line1 return error" unless line1.chomp! line2 = gets abort "line2 return error" unless line2.chomp! abort "line3 error" if gets na = line1.scan(/^(\d+) (\d+)$/) abort "line1 format error" if na.empty? n,a = na[0].map!(&:to_i) abort "line2 format error" unless /^\d+(?: \d+)*$/=~line2 x = line2.scan(/\d+/).map!(&:to_i) puts x.inject(:+) == a*n ? "YES" : "NO"