#1176. 渡渡鸟与背包

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

题目描述

你有一个背包,有 nn 个物品,第 ii 个物品由二元组 (ai,bi)(a_i, b_i) 表示。你想选出一些物品使得选出的物品不存在某个非空的物品的子集,其 aia_i 的异或和为 0,但又想让选出的物品 bib_i 之和尽可能大。

背包开始是空的,物品逐个加入,你想知道每加入一个物品后的答案。

输入格式

第一行一个正整数 nn (1n1051\leq n \leq 10^5)。

之后 nn 行,第 ii 行两个正整数 ai,bia_i, b_i 描述物品(0ai<1018,0bi1090\leq a_i < 10^{18}, 0\leq b_i \leq 10^9)。

输出格式

输出 nn 行,每行一个整数表示答案。

样例

样例输入1

5
2 4
5 1
3 3
1 5
0 9

样例输出1

4
5
8
10
10