





def        SCREAMING_SNAKE_CASE      (       _UpperCAmelCase )			->     int:
    if n == 1 or not isinstance(_UpperCAmelCase						,	_UpperCAmelCase ):
        return 0
    elif n == 2:
        return 1
    else:
        lowerCamelCase__    :      List[str]					 =		[0, 1]
        for i in range(2						,	n + 1 ):
            sequence.append(sequence[i - 1] + sequence[i - 2] )

        return sequence[n]


def        SCREAMING_SNAKE_CASE      (       _UpperCAmelCase )			->     int:
    lowerCamelCase__    :      List[str]					 =		0
    lowerCamelCase__    :      Dict					 =		2

    while digits < n:
        index += 1
        lowerCamelCase__    :      Union[str, Any]					 =		len(str(fibonacci(_UpperCAmelCase ) ) )

    return index


def        SCREAMING_SNAKE_CASE      (       _UpperCAmelCase = 1000 )			->     int:
    return fibonacci_digits_index(_UpperCAmelCase )


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












def        SCREAMING_SNAKE_CASE      (       _UpperCAmelCase						,	_UpperCAmelCase )			->     bool:
    lowerCamelCase__    :      List[str]					 =		len(_UpperCAmelCase )
    lowerCamelCase__    :      str					 =		[[False] * (required_sum + 1) for _ in range(arr_len + 1 )]

    # for each arr value, a sum of zero(0) can be formed by not taking any element
    # hence True/1
    for i in range(arr_len + 1 ):
        lowerCamelCase__    :      Tuple					 =		True

    # sum is not zero and set is empty then false
    for i in range(1						,	required_sum + 1 ):
        lowerCamelCase__    :      Dict					 =		False

    for i in range(1						,	arr_len + 1 ):
        for j in range(1						,	required_sum + 1 ):
            if arr[i - 1] > j:
                lowerCamelCase__    :      str					 =		subset[i - 1][j]
            if arr[i - 1] <= j:
                lowerCamelCase__    :      Dict					 =		subset[i - 1][j] or subset[i - 1][j - arr[i - 1]]

    return subset[arr_len][required_sum]


if __name__ == "__main__":
    import doctest

    doctest.testmod()





