print(7 & 3, 7 | 8, 7 ^ 3)
print(-1 & 255, -256 | 15, -7 ^ 3, -2 & -3, -2 | -3, -2 ^ -3)
print(0 & 0, 0 | -1, -1 ^ -1, -1 & -1)
print(True & False, True | False, True ^ True, False ^ True)
print(True & 3, 4 | True, False ^ -1, isinstance(True & True, bool), isinstance(True & 1, bool))
left = 1606938044258990275541962092341162602522202993782792835301393
right = -340282366920938463463374607431768211451
print(left & right, left | right, left ^ right)
print(left ^ left, left & -1, left | -1)
value = 0x123456789abcdef
value &= 0xffffffffffff
value |= 0x100000000000
value ^= 0x555555555555
print(value)
flag = True
flag ^= True
flag |= True
print(flag, isinstance(flag, bool))

def mark(label, value):
    print(label)
    return value
print(mark('left', -123456789) ^ mark('right', 0xabcdef))
print(({1, 2} | {2, 3}) == {1, 2, 3}, ({1, 2} ^ {2, 3}) == {1, 3})

print((2 < 3) & True, (2 < 3) ^ True, ((2 < 3) | False) + 0)
print((1 in [1]) ^ True, bool(3) & True, (not False) ^ True)
