require 'prime' a = gets.to_i fps = (0..4).map { |n| 2**(2**n) + 1 } fps_list = (0...(2**5)).map do |i| (0..4).inject(1) do |m, j| if (i & 2**j).zero? m else m * fps[j] end end end puts fps_list .select { |x|x <= a } .map { |x|Math.log2(a / x).to_i + 1 } .inject(&:+) - 2