class      lowerCamelCase    :
  """simple docstring"""







  def __init__(							self       :				Tuple     ,   __magic_name__       :				list      )     ->		None:
        SCREAMING_SNAKE_CASE_      =     set_counts
        SCREAMING_SNAKE_CASE_      =     max(__magic_name__      )
        SCREAMING_SNAKE_CASE_      =     len(__magic_name__      )
        SCREAMING_SNAKE_CASE_      =     [1] * num_sets
        SCREAMING_SNAKE_CASE_      =     list(range(__magic_name__      )      )







  def       __A   (							self       :				str     ,   __magic_name__       :				int     ,   __magic_name__       :				int      )     ->		bool:
        SCREAMING_SNAKE_CASE_      =     self.get_parent(__magic_name__      )
        SCREAMING_SNAKE_CASE_      =     self.get_parent(__magic_name__      )

        if src_parent == dst_parent:
              return False

        if self.ranks[dst_parent] >= self.ranks[src_parent]:
              self.set_counts[dst_parent] += self.set_counts[src_parent]
              SCREAMING_SNAKE_CASE_      =     0
              SCREAMING_SNAKE_CASE_      =     dst_parent
              if self.ranks[dst_parent] == self.ranks[src_parent]:
                    self.ranks[dst_parent] += 1
              SCREAMING_SNAKE_CASE_      =     self.set_counts[dst_parent]
        else:
              self.set_counts[src_parent] += self.set_counts[dst_parent]
              SCREAMING_SNAKE_CASE_      =     0
              SCREAMING_SNAKE_CASE_      =     src_parent
              SCREAMING_SNAKE_CASE_      =     self.set_counts[src_parent]

        SCREAMING_SNAKE_CASE_      =     max(self.max_set     ,   __magic_name__      )
        return True







  def       __A   (							self       :				Optional[int]     ,   __magic_name__       :				int      )     ->		int:
        if self.parents[disj_set] == disj_set:
              return disj_set
        SCREAMING_SNAKE_CASE_      =     self.get_parent(self.parents[disj_set]      )
        return self.parents[disj_set]



def    a__       (						__UpperCamelCase ):
      if n == 1 or not isinstance(__UpperCamelCase   ,					__UpperCamelCase ):
            return 0
      elif n == 2:
            return 1
      else:
            SCREAMING_SNAKE_CASE_      =     [0, 1]
            for i in range(2   ,					n + 1 ):
                  sequence.append(sequence[i - 1] + sequence[i - 2] )

            return sequence[n]


def    a__       (						__UpperCamelCase ):
      SCREAMING_SNAKE_CASE_      =     0
      SCREAMING_SNAKE_CASE_      =     2

      while digits < n:
            index += 1
            SCREAMING_SNAKE_CASE_      =     len(str(fibonacci(__UpperCamelCase ) ) )

      return index


def    a__       (						__UpperCamelCase = 1_0_0_0 ):
      return fibonacci_digits_index(__UpperCamelCase )


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


