v = gets.split.map(&:to_i).uniq.sort if v.size != 4 p 4 exit end ans = 1000 3.upto(30) do |c| 2.upto(c - 1) do |b| 1.upto(b - 1) do |a| dp = Array.new(31, 1000) dp[0] = 0 [a, b, c].each do |x| 1.upto(30) do |i| dp[i] = [dp[i], dp[i - x] + 1].min if i >= x end end tmp = 0 v.each do |x| tmp += dp[x] end ans = [ans, tmp].min end end end p ans