# 通常のフィボナッチ数列は100項で10**18を超える # つまりN<10**18ならば、すぐに達するだろう # ということは100-bonacciまで調べれば十分なのでは # それ以上調べてもN<10**18の存在は変わらない # 1WA出た、もう少しだけ広くして見るか N = int(input()) if N == 1: print(1) exit() ans = -1 found = False for k in range(2, 300): if found == True: break fibonacci = [1, 1] for j in range(300): calc = sum(fibonacci[max(0, len(fibonacci)-k):]) fibonacci.append(calc) if calc == N: ans = k found = True break #print('k', k, fibonacci) print(ans)