





"""simple docstring"""



import operator







def 						__lowercase	(  snake_case_    :    list							,snake_case_    :    bool = False							,snake_case_    :    list | None = None		)  ->list:



    '''simple docstring'''







    __A       :		int							=	operator.lt if reverse else operator.gt
    __A       :		Union[str, Any]							=	solution or []

    if not arr:
        return solution

    __A       :		List[Any]							=	[arr.pop(0		)]
    for i, item in enumerate(snake_case_		):
        if _operator(snake_case_							,sublist[-1]		):
            sublist.append(snake_case_		)
            arr.pop(snake_case_		)

    #  merging sublist into solution list
    if not solution:
        solution.extend(snake_case_		)
    else:
        while sublist:
            __A       :		str							=	sublist.pop(0		)
            for i, xx in enumerate(snake_case_		):
                if not _operator(snake_case_							,snake_case_		):
                    solution.insert(snake_case_							,snake_case_		)
                    break
            else:
                solution.append(snake_case_		)

    strand_sort(snake_case_							,snake_case_							,snake_case_		)
    return solution


if __name__ == "__main__":
       assert strand_sort([4, 3, 5, 1, 2]) == [1, 2, 3, 4, 5]
       assert strand_sort([4, 3, 5, 1, 2], reverse=True) == [5, 4, 3, 2, 1]











"""simple docstring"""



def 						__lowercase	(  snake_case_    :    int							,snake_case_    :    int		)  ->int:



    '''simple docstring'''







    return int((input_a, input_a).count(0		) == 0		)







def 						__lowercase	(  )  ->None:



    '''simple docstring'''







    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))




