import re







def     A__	(       __A						):







    '''simple docstring'''
    def docstring_decorator(__A						):
        _lowerCamelCase  :		List[str]			    =    fn.__doc__
        _lowerCamelCase  :		Dict			    =    func_doc.split("""\n"""						)
        _lowerCamelCase  :		Tuple			    =    0
        while i < len(__A						) and re.search(r"""^\s*Examples?:\s*$""" ,			lines[i]						) is None:
            i += 1
        if i < len(__A						):
            _lowerCamelCase  :		int			    =    example_docstring
            _lowerCamelCase  :		List[str]			    =    """\n""".join(__A						)
        else:
            raise ValueError(
                F"""The function {fn} should have an empty 'Examples:' in its docstring as placeholder, """
                F"""current docstring is:\n{func_doc}"""						)
        _lowerCamelCase  :		List[Any]			    =    func_doc
        return fn

    return docstring_decorator





from __future__ import annotations

import sys







def     A__	(       __A						):







    '''simple docstring'''
    if n < 0:
        raise ValueError("""Negative arguments are not supported"""						)
    return _fib(__A						)[0]







def     A__	(       __A						):







    '''simple docstring'''
    if n == 0:  # (F(0), F(1))
        return (0, 1)

    # F(2n) = F(n)[2F(n+1) − F(n)]
    # F(2n+1) = F(n+1)^2+F(n)^2
    _lowerCamelCase    ,				_lowerCamelCase  :		List[Any]			    =    _fib(n // 2						)
    _lowerCamelCase  :		List[Any]			    =    a * (b * 2 - a)
    _lowerCamelCase  :		Optional[int]			    =    a * a + b * b
    return (d, c + d) if n % 2 else (c, d)


if __name__ == "__main__":
    lowerCAmelCase      :				Union[str, Any]     			=int(sys.argv[1])
    print(F"""fibonacci({n}) is {fibonacci(n)}""")




