import math
from collections.abc import Iterator
from itertools import takewhile


def    a__       (						__UpperCamelCase ):

      if 1 < number < 4:
            # 2 and 3 are primes
            return True
      elif number < 2 or number % 2 == 0 or number % 3 == 0:
            # Negatives, 0, 1, all even numbers, all multiples of 3 are not primes
            return False

      # All primes number are in format of 6k +/- 1
      for i in range(5   ,					int(math.sqrt(__UpperCamelCase ) + 1 )   ,					6 ):
            if number % i == 0 or number % (i + 2) == 0:
                  return False
      return True


def    a__       (						):
      SCREAMING_SNAKE_CASE_      =     2
      while True:
            if is_prime(__UpperCamelCase ):
                  yield num
            num += 1


def    a__       (						__UpperCamelCase = 2_0_0_0_0_0_0 ):
      return sum(takewhile(lambda __UpperCamelCase : x < n   ,					prime_generator() ) )


if __name__ == "__main__":
      print(f"{solution() = }")



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


