def xor_upto(n):
    mod = n % 4
    if mod == 0:
        return n
    elif mod == 1:
        return 1
    elif mod == 2:
        return n + 1
    else:  # mod == 3
        return 0

def xor_from_a_to_b(a, b):
    if a > b:
        return 0
    return xor_upto(b) ^ xor_upto(a - 1)

n = int(input())
x = 0
for _ in range(n):
    k, l, d = map(int, input().split())
    step = 1 << d
    mask = l % step
    a = l // step
    start = a
    end = a + k - 1
    upper_xor = xor_from_a_to_b(start, end)
    if k % 2 == 1:
        xor_i = (upper_xor << d) | mask
    else:
        xor_i = (upper_xor << d)
    x ^= xor_i
print(x)