数据结构
时间限制:C/C++/Rust/Pascal 3秒,其他语言6秒
空间限制:C/C++/Rust/Pascal 512 M,其他语言1024 M
64bit IO Format: %lld

题目描述

给定一个长为  的正整数数列 ,有  次操作,每次给定整数 ,你需要执行如下操作:

  • 对于每个整数 ,如果  且 ,则令 

每次操作后,你需要求出所有  之和。

输入描述:


第一行,两个正整数 

第二行, 个正整数 

第  至 (q+2) 行,每行三个整数 


输出描述:

为了减少输出量,设第  次操作后的答案为 ,你只需要输出  即可,其中  表示按位异或。
示例1

输入

复制
5 6
1 2 3 4 3
2 4 0
3 3 0
3 3 1
1 2 1
1 2 0
1 5 1

输出

复制
18

说明

备注: