N,K = gets.split.map(&:to_i) A = N.times.map{gets.to_i} dp = Array.new(K + 1, 0).tap{|it| it[0] = 1 } A.each do |a| (0 .. K).reverse_each do |k| dp[k + a] += 1 if dp[k] > 0 && a + k <= K end end puts dp.rindex{|v| v > 0 }