





def 				__lowerCAmelCase(       _SCREAMING_SNAKE_CASE							,     _SCREAMING_SNAKE_CASE				)							-> Dict:




    """simple docstring"""




    _A     =							[1]
    for i in range(2							,     _SCREAMING_SNAKE_CASE				):
        factorials.append(factorials[-1] * i				)
    assert 0 <= k < factorials[-1] * n, "k out of bounds"

    _A     =							[]
    _A     =							list(range(_SCREAMING_SNAKE_CASE				)				)

    # Find permutation
    while factorials:
        _A     =							factorials.pop()
        _A,			_A     =							divmod(_SCREAMING_SNAKE_CASE							,     _SCREAMING_SNAKE_CASE				)
        permutation.append(elements[number]				)
        elements.remove(elements[number]				)
    permutation.append(elements[0]				)

    return permutation


if __name__ == "__main__":
 import doctest

 doctest.testmod()












def       SCREAMING_SNAKE_CASE__  (       _lowercase     : int   ,    _lowercase     : int			)   ->							Optional[int]:




		'''simple docstring'''
		if b == 0:
				return 1
		if (b % 2) == 0:
				return actual_power(_lowercase   ,    int(b / 2			)			) * actual_power(_lowercase   ,    int(b / 2			)			)
		else:
				return a * actual_power(_lowercase   ,    int(b / 2			)			) * actual_power(_lowercase   ,    int(b / 2			)			)


def       SCREAMING_SNAKE_CASE__  (       _lowercase     : int   ,    _lowercase     : int			)   ->							float:




		'''simple docstring'''
		if b < 0:
				return 1 / actual_power(_lowercase   ,    _lowercase			)
		return actual_power(_lowercase   ,    _lowercase			)


if __name__ == "__main__":
			print(power(-2, -3))


