


def        lowerCAmelCase_  (      __lowerCamelCase							,			__lowerCamelCase			):
       __snake_case	:    List[Any]											=     [1]
       for i in range(2							,			SCREAMING_SNAKE_CASE_			):
              factorials.append(factorials[-1] * i			)
       assert 0 <= k < factorials[-1] * n, "k out of bounds"

       __snake_case	:    Union[str, Any]											=     []
       __snake_case	:    Dict											=     list(range(SCREAMING_SNAKE_CASE_			)			)

       # Find permutation
       while factorials:
              __snake_case	:    Any											=     factorials.pop()
              __snake_case	:    Optional[int]											=     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        lowerCAmelCase_  (      __lowerCamelCase							,			__lowerCamelCase			):
							return int((input_a, input_a).count(0			) == 0			)







def        lowerCAmelCase_  (      ):
							assert and_gate(0							,			0			) == 0
							assert and_gate(0							,			1			) == 0
							assert and_gate(1							,			0			) == 0
							assert and_gate(1							,			1			) == 1


if __name__ == "__main__":
			test_and_gate()
			print(and_gate(1, 0))
			print(and_gate(0, 0))
			print(and_gate(0, 1))
			print(and_gate(1, 1))

