n,m = gets.split.map(&:to_i) dp = Array.new(n + 1) dp[0] = 0 dp[1] = 1 2.upto(n){|i| dp[i] = dp[i - 1] + dp[i - 2] } x = dp[n] - m if x < 0 p -1 elsif x == 0 p 0 else ans = 0 (n - 2).downto(1){|i| if x >= dp[i] x -= dp[i] ans += 1 end if x == 0 break end } if x == 0 p ans else p -1 end end