N = gets.to_i if N == 1 puts 2 exit end def k_fib(k) nums = [0] * (k - 1) nums << 1 sum = 1 while nums.last < N l = nums.size nums << sum sum -= nums[l - k] sum += nums.last if nums.last == N return true end end false end k = 2 while 2 ** (k - 1) <= N if k_fib(k) puts k exit end k += 1 end puts -1