
"""simple docstring"""


def    _snake_case					(		snake_case__ :  int  ):
	assert (
	    isinstance(snake_case__						,   snake_case__  ) and number_of_steps > 0
	), F'number_of_steps needs to be positive integer, your input {number_of_steps}'
	if number_of_steps == 1:
		return 1
	A ,   A     = 1, 1
	for _ in range(number_of_steps - 1  ):
		A ,   A     = current + previous, current
	return current


if __name__ == "__main__":
		import doctest

		doctest.testmod()





def lowerCamelCase__  (     _lowercase					,		_lowercase ):

     '''simple docstring'''


     while a != 0:
          UpperCAmelCase_,       UpperCAmelCase_     :				Optional[int]  =     b % a, a
     return b







def lowerCamelCase__  (     _lowercase					,		_lowercase ):

     '''simple docstring'''


     if gcd(_lowercase					,		_lowercase ) != 1:
          UpperCAmelCase_     :				int  =     f'''mod inverse of {a!r} and {m!r} does not exist'''
          raise ValueError(_lowercase )
     UpperCAmelCase_,       UpperCAmelCase_,       UpperCAmelCase_     :				Union[str, Any]  =     1, 0, a
     UpperCAmelCase_,       UpperCAmelCase_,       UpperCAmelCase_     :				Dict  =     0, 1, m
     while va != 0:
          UpperCAmelCase_     :				List[Any]  =     ua // va
          UpperCAmelCase_,       UpperCAmelCase_,       UpperCAmelCase_,       UpperCAmelCase_,       UpperCAmelCase_,       UpperCAmelCase_     :				Any  =     (ua - q * va), (ua - q * va), (ua - q * va), va, va, va
     return ua % m