题目描述
Source: CodeForces 1148F. Foo Fighters
一方通行在与梼杌战斗的过程中,发现可以通过反转矢量的方式对魔法的防护造成更大的伤害。
现在一方通行能操控 $n$ 束共线的矢量,每个矢量有其强度 $v$ 和长度 $l$ ,其中 $l$ 的正负表示矢量的方向。
一方发现如果用一个标量 $s$ 对矢量强度 $v$ 进行二进制与操作后二进制表示中有奇数个 $1$ ,这个矢量的方向就会反转,为了让所有矢量的和的方向也反转以达到效果,必须要找到一个适合的 $s$ ,但是一方现在忙着与梼杌战斗无心演算,于是就把这个任务交给了你。
输入格式
第一行包含一个整数 $n$ ,表示矢量的数量
下面 $n$ 行,每行两个整数 $l_i,\,v_i$ ,分别表示矢量的长度与强度。
输出格式
输出包含一个整数,表示能使得矢量反转的 $s$ ,由于答案可能不唯一,你只需要输出任意一个。
样例
input
5
-18 9
-14 56
12 55
-30 31
-14 23
output
8
数据范围与提示
对于 $30\%$ 的数据,$n\le 500,\ |l_i|\le 10^5,\ 1\le v_i\le 10^5$;
对于 $100\%$ 的数据,保证 $n\le3\times10^5,\ |l_i|\le10^9,\ 1\le v_i<2^{62}$
数据保证 $\sum l_i \ne 0$