# frozen_string_literal: true def solve # rubocop:todo Metrics/MethodLength p = [1] (1..N).each do |i| n = [] p.each do |x| y = x + C[x] return i + 1 if y == N n << y if y < N z = x - C[x] n << z if z > 1 end p = n.uniq end -1 end N = gets.to_i C = (0..N).map { _1.digits(2).count(1) } RESULT = solve puts RESULT