





'''simple docstring'''

def    _a    (							lowerCAmelCase_			,      lowerCAmelCase_			,      lowerCAmelCase_	):





      """simple docstring"""



      def count_of_possible_combinations(lowerCAmelCase_	) -> int:
            if target < 0:
                  return 0
            if target == 0:
                  return 1
            return sum(count_of_possible_combinations(target - item	) for item in array	)

      return count_of_possible_combinations(lowerCAmelCase_	)




def    _a    (							lowerCAmelCase_			,      lowerCAmelCase_			,      lowerCAmelCase_	):





      """simple docstring"""



      def count_of_possible_combinations_with_dp_array(
          lowerCAmelCase_			,      lowerCAmelCase_	) -> int:
            if target < 0:
                  return 0
            if target == 0:
                  return 1
            if dp_array[target] != -1:
                  return dp_array[target]
            _snake_case		:	Optional[Any]					     =     sum(
                count_of_possible_combinations_with_dp_array(target - item			,      lowerCAmelCase_	)
                for item in array	)
            _snake_case		:	str					     =     answer
            return answer

      _snake_case		:	Union[str, Any]					     =     [-1] * (target + 1)
      return count_of_possible_combinations_with_dp_array(lowerCAmelCase_			,      lowerCAmelCase_	)




def    _a    (							lowerCAmelCase_			,      lowerCAmelCase_			,      lowerCAmelCase_	):





      """simple docstring"""



      _snake_case		:	Optional[int]					     =     [0] * (target + 1)
      _snake_case		:	int					     =     1

      for i in range(1			,      target + 1	):
            for j in range(lowerCAmelCase_	):
                  if i - array[j] >= 0:
                        dp_array[i] += dp_array[i - array[j]]

      return dp_array[target]


if __name__ == "__main__":
   import doctest

   doctest.testmod()
   UpperCAmelCase					:		Union[str, Any]		=							3
   UpperCAmelCase					:		int		=							5
   UpperCAmelCase					:		int		=							[1, 2, 5]
   print(combination_sum_iv(n, array, target))









'''simple docstring'''

def    _a    (							lowerCAmelCase_	):





      """simple docstring"""



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

            return sequence[n]




def    _a    (							lowerCAmelCase_	):





      """simple docstring"""



      _snake_case		:	Optional[int]					     =     0
      _snake_case		:	int					     =     2

      while digits < n:
            index += 1
            _snake_case		:	Tuple					     =     len(str(fibonacci(lowerCAmelCase_	)	)	)

      return index




def    _a    (							lowerCAmelCase_ = 1_000	):





      """simple docstring"""



      return fibonacci_digits_index(lowerCAmelCase_	)


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


