





def 		A_    (					_lowerCAmelCase					)						->			int:
 UpperCamelCase     : List[str]	     =       len(__a					)
 UpperCamelCase     : Optional[int]	     =       sum(__a					)

 UpperCamelCase     : Union[str, Any]	     =       [[False for x in range(s + 1					)] for y in range(n + 1					)]

 for i in range(1							,       n + 1					):
  UpperCamelCase     : Optional[Any]	     =       True

 for i in range(1							,       s + 1					):
  UpperCamelCase     : List[Any]	     =       False

 for i in range(1							,       n + 1					):
  for j in range(1							,       s + 1					):
   UpperCamelCase     : Optional[Any]	     =       dp[i][j - 1]

   if arr[i - 1] <= j:
    UpperCamelCase     : Union[str, Any]	     =       dp[i][j] or dp[i - 1][j - arr[i - 1]]

 for j in range(int(s / 2					)							,       -1							,       -1					):
  if dp[n][j] is True:
   UpperCamelCase     : Tuple	     =       s - 2 * j
   break

 return diff







def 		A_    (					_lowerCAmelCase					)						->			int:
 if n == 1 or not isinstance(_lowerCAmelCase							,       _lowerCAmelCase					):
  return 0
 elif n == 2:
  return 1
 else:
  UpperCamelCase     : Optional[Any]	     =       [0, 1]
  for i in range(2							,       n + 1					):
   sequence.append(sequence[i - 1] + sequence[i - 2]					)

  return sequence[n]



def 		A_    (					_lowerCAmelCase					)						->			int:
 UpperCamelCase     : Any	     =       0
 UpperCamelCase     : List[Any]	     =       2

 while digits < n:
  index += 1
  UpperCamelCase     : Union[str, Any]	     =       len(str(fibonacci(_lowerCAmelCase					)					)					)

 return index



def 		A_    (					_lowerCAmelCase = 1000					)						->			int:
 return fibonacci_digits_index(_lowerCAmelCase					)


if __name__ == "__main__":
    print(solution(int(str(input()).strip())))
