def xor_0_to_n(n): if n < 0: return 0 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 main(): import sys input = sys.stdin.read().split() ptr = 0 N = int(input[ptr]) ptr += 1 result = 0 for _ in range(N): K = int(input[ptr]) L = int(input[ptr + 1]) D = int(input[ptr + 2]) ptr += 3 s = 1 << D low = L % s a = L >> D b = a + K - 1 xor_high = xor_0_to_n(b) ^ xor_0_to_n(a - 1) add_low = low if (K % 2) else 0 player_xor = (xor_high << D) ^ add_low result ^= player_xor print(result) if __name__ == "__main__": main()