



'''simple docstring'''


def  UpperCAmelCase_       (		lowercase__       ):


     '''simple docstring'''







     if not grid or not grid[0]:
          raise TypeError("The grid does not contain the appropriate information"       )

     for cell_n in range(1       ,	len(grid[0]       )       ):
          grid[0][cell_n] += grid[0][cell_n - 1]
     a_       		=grid[0]

     for row_n in range(1       ,	len(lowercase__       )       ):
          a_       		=grid[row_n]
          a_       		=fill_row(lowercase__       ,	lowercase__       )
          a_       		=grid[row_n]

     return grid[-1][-1]






def  UpperCAmelCase_       (		lowercase__       ,	lowercase__       ):


     '''simple docstring'''







     current_row[0] += row_above[0]
     for cell_n in range(1       ,	len(lowercase__       )       ):
          current_row[cell_n] += min(current_row[cell_n - 1]       ,	row_above[cell_n]       )

     return current_row


if __name__ == "__main__":
  import doctest

  doctest.testmod()







'''simple docstring'''


from collections.abc import Generator






def  UpperCAmelCase_       (		):


     '''simple docstring'''







     a_		,						a_       		=0, 1
     while True:
          a_		,						a_       		=b, a + b
          yield b






def  UpperCAmelCase_       (		lowercase__ = 1_0_0_0       ):


     '''simple docstring'''







     a_       		=1
     a_       		=fibonacci_generator()
     while len(str(next(lowercase__       )       )       ) < n:
          answer += 1
     return answer + 1


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


