





__lowerCamelCase	:					Union[str, Any]			  =					6_5521



def 		A_    (					_lowerCAmelCase					)						->			int:
 UpperCamelCase     : List[Any]	     =       1
 UpperCamelCase     : List[str]	     =       0
 for plain_chr in plain_text:
  UpperCamelCase     : int	     =       (a + ord(_lowerCAmelCase					)) % MOD_ADLER
  UpperCamelCase     : Any	     =       (b + a) % MOD_ADLER
 return (b << 16) | a







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())))
