logo AlgoBeat OnlineJudge
登录 注册

#145. 【模板】前缀线性基

内存限制:512 MiB 时间限制:1000 ms 标准输入输出
题目类型:传统 评测方式:文本比较
上传者: Elaina

题目描述

伊蕾娜最近刷手机的时候看到一个广告,里面开局只有一个人,有加法和乘法门,需要选择合适的门来最大化人数,她觉得里面的游戏很好玩,就点进去玩了。

可是点进去之后,伊蕾娜立马傻眼了:里面根本没有什么加法门、乘法门,全是异或门。

具体来说,有 个选择,第 个选择有两个异或门,值分别为 ,要求伊蕾娜选择把人数异或上 还是 。同时,游戏有 关,每关会给定 ,开局人数为 ,要求按顺序依次做出编号为 的选择,最大化最终的人数。

如果是加法门和乘法门,伊蕾娜会用简单的贪心做,但是这个游戏只有异或门,伊蕾娜也不会做了,但是她想起你是一个非常厉害的 OIer,所以她决定向你求助,你需要求出每一关最终的人数的最大值。

输入格式

第一行,输入两个正整数

以下 行,每行两个整数 ,表示一次选择。

以下 行,每行三个整数 ,表示游戏的一关。

输出格式

输出 行,每行一个整数,按顺序输出每一关最终能达到的最大人数。

样例

样例输入

3 3
1000 1
844 844
1 1
1 2 0
1 1 0
2 3 844

样例输出

845
1000
1

数据范围与提示

样例解释

对于第一组询问,如果贪心的在第一次选择 ,那么第二次选择之后,不管选择了哪个门人数都会变成 。但是如果第一次选择 ,第二次选择之后人数会变成 ,是更优的。

对于第三组询问,请注意人数为 时游戏并不会失败。

数据范围

对于 的数据,

对于另外 的数据,

对于 的数据,