
def 		UpperCamelCase						(   lowercase_ )		->						int:


  '''simple docstring'''






  if not numbers:
    return 0

  if not isinstance(lowercase_			,			(list, tuple) ) or not all(
      isinstance(lowercase_			,			lowercase_ ) for number in numbers ):
    raise ValueError("""numbers must be an iterable of integers""" )

  lowercase__	: Dict     		=   numbers[0]

  for i in range(1			,			len(lowercase_ ) ):
    # update the maximum and minimum subarray products
    lowercase__	: Optional[int]     		=   numbers[i]
    if number < 0:
      lowercase__		,     lowercase__	: Any     		=   min_till_now, max_till_now
    lowercase__	: List[str]     		=   max(lowercase_			,			max_till_now * number )
    lowercase__	: Any     		=   min(lowercase_			,			min_till_now * number )

    # update the maximum product found till now
    lowercase__	: List[Any]     		=   max(lowercase_			,			lowercase_ )

  return max_prod








def 		UpperCamelCase						(   lowercase_ )		->						int:


  '''simple docstring'''






  if n == 1 or not isinstance(lowercase_			,			lowercase_ ):
    return 0
  elif n == 2:
    return 1
  else:
    lowercase__	: List[Any]     		=   [0, 1]
    for i in range(2			,			n + 1 ):
      sequence.append(sequence[i - 1] + sequence[i - 2] )

    return sequence[n]

def 		UpperCamelCase						(   lowercase_ )		->						int:


  '''simple docstring'''






  lowercase__	: Optional[Any]     		=   0
  lowercase__	: Dict     		=   2

  while digits < n:
    index += 1
    lowercase__	: str     		=   len(str(fibonacci(lowercase_ ) ) )

  return index

def 		UpperCamelCase						(   lowercase_ = 10_00 )		->						int:


  '''simple docstring'''






  return fibonacci_digits_index(lowercase_ )


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






