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() idx = 0 N = int(input[idx]) idx += 1 result = 0 for _ in range(N): K = int(input[idx]) L = int(input[idx+1]) D = int(input[idx+2]) idx +=3 s = 1 << D a = L // s b = L % s end = a + K - 1 xor_high = xor_0_to_n(end) ^ xor_0_to_n(a - 1) higher_part = xor_high << D if K % 2 == 1: lower_part = b else: lower_part = 0 xor_player = higher_part | lower_part result ^= xor_player print(result) if __name__ == "__main__": main()