



def 						UpperCamelCase      (  snake_case__			:       str      )      ->	str:
   UpperCamelCase       :    Tuple		      =      0

   # if input_string is "aba" than new_input_string become "a|b|a"
   UpperCamelCase       :    Optional[int]		      =      ''
   UpperCamelCase       :    Optional[int]		      =      ''

   # append each character + "|" in new_string for range(0, length-1)
   for i in input_string[: len(__SCREAMING_SNAKE_CASE      ) - 1]:
      new_input_string += i + "|"
   # append last character
   new_input_string += input_string[-1]

   # we will store the starting and ending of previous furthest ending palindromic
   # substring
   UpperCamelCase       :    Tuple		      =      0, 0

   # length[i] shows the length of palindromic substring with center i
   UpperCamelCase       :    Any		      =      [1 for i in range(len(__SCREAMING_SNAKE_CASE      )      )]

   # for each character in new_string find corresponding palindromic string
   UpperCamelCase       :    Any		      =      0
   for j in range(len(__SCREAMING_SNAKE_CASE      )      ):
      UpperCamelCase       :    str		      =      1 if j > r else min(length[l + r - j] // 2			,	r - j + 1      )
      while (
          j - k >= 0
          and j + k < len(__SCREAMING_SNAKE_CASE      )
          and new_input_string[k + j] == new_input_string[j - k]
      ):
         k += 1

      UpperCamelCase       :    List[str]		      =      2 * k - 1

      # does this string is ending after the previously explored end (that is r) ?
      # if yes the update the new r to the last index of this
      if j + k - 1 > r:
         UpperCamelCase       :    Optional[Any]		      =      j - k + 1  # noqa: E741
         UpperCamelCase       :    Tuple		      =      j + k - 1

      # update max_length and start position
      if max_length < length[j]:
         UpperCamelCase       :    str		      =      length[j]
         UpperCamelCase       :    int		      =      j

    # create that string
   UpperCamelCase       :    Any		      =      new_input_string[start - max_length // 2 : start + max_length // 2 + 1]
   for i in s:
      if i != "|":
         output_string += i

   return output_string


if __name__ == "__main__":
    import doctest

    doctest.testmod()









'''simple docstring'''






def 		UpperCamelCase__      (		__SCREAMING_SNAKE_CASE		)    ->   int:
      if n == 1 or not isinstance(__SCREAMING_SNAKE_CASE				,      __SCREAMING_SNAKE_CASE		):
            return 0
      elif n == 2:
            return 1
      else:
            snake_case__       :   int	      =    [0, 1]
            for i in range(2				,      n + 1		):
                  sequence.append(sequence[i - 1] + sequence[i - 2]		)

            return sequence[n]






def 		UpperCamelCase__      (		__SCREAMING_SNAKE_CASE		)    ->   int:
      snake_case__       :   Optional[int]	      =    0
      snake_case__       :   Dict	      =    2

      while digits < n:
            index += 1
            snake_case__       :   Optional[int]	      =    len(str(fibonacci(__SCREAMING_SNAKE_CASE		)		)		)

      return index






def 		UpperCamelCase__      (		__SCREAMING_SNAKE_CASE = 1000		)    ->   int:
      return fibonacci_digits_index(__SCREAMING_SNAKE_CASE		)


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