#36353. 礼物
礼物
暂无测试数据。
小 A 收到了一份礼物,一个长度为 $n$ 的二元组序列 $(x,y)$。
小 A 特别喜欢这个序列,所以他想知道关于这个序列的一切信息。
小 A 定义在一个二元组集合 $S$ 中,一个二元组 $(a,b)$ 被称为优秀的,当且仅当集合中不存在另一个二元组 $(x,y)$,满足 $x \ge a$ 且 $y \ge b$。 只有一个元素的二元组集合 $\{(x,y)\}$,$(x,y)$ 被视作优秀的。
现在小 A 提出了 $q$ 个问题,每个问题形如 “在 $[l,r]$ 区间构成的二元组集合中,有哪些二元组是优秀的”。你需要回答小 A 的问题。
注意常数因子在程序效率方面的影响。
输入格式
输入第一行一个整数 $n$,表示二元组序列的长度。
接下来 $n$ 行,每行两个数 $(x,y)$ 表示二元组序列中的一个元素。
接下来一行一个整数 $q$,表示询问个数。
接下来 $q$ 行,每行两个数表示询问 $[l,r]$,满足 $l \le r$。
输出格式
为了证明你真的知道是哪些二元组,对于每个询问,请你输出所有优秀二元组 $(x,y)$ 的 $x$ 异或 $y$ 的 乘积 模 $10^9+7$ 的值。如果不存在输出 $1$。
数据范围
对于 $30\%$ 的数据: $1 \le n,q \le 100$。
对于 $60\%$ 的数据: $1 \le n,q \le 100000$。
对于 $100\%$ 的数据: $1 \le n \le 200000$, $1 \le q \le 400000$,$1 \le x,y \le 10^9$。我们保证所有的二元组都是随机的,但是询问的区间并不保证随机。我们不保证所有的二元组都是两两不同的。
3
1 2
1 5
2 4
2
1 2
1 3
4
24