#L5459. 「ROI 2012 Day 2」马赛克

    ID: 5226 传统题 1000ms 256MiB 尝试: 1 已通过: 1 难度: 10 上传者: 标签>数据结构线段树线段树区间查询扫描线

「ROI 2012 Day 2」马赛克

#5459. 「ROI 2012 Day 2」马赛克

题目描述

译自 ROIROI 20122012 Day2Day2 T1.T1. Мозаика

ABBYYABBYY 公司的所有磁性马赛克元素均为矩形。只有当两个元素至少有一个尺寸(长度、宽度或两者)相同时,才能将它们连接在一起。磁性元素不可旋转或翻转。如果两个马赛克元素无法连接,则称它们为不和谐对。例如,1×21 \times 22×32 \times 3 是一对不和谐对,而 2×32 \times 31×31 \times 32×32 \times 32×32 \times 3 则是和谐对。

ABBYYABBYY 的设计师将所有马赛克元素排成一行,但未将它们连接在一起。我们将一行中连续的若干元素称为一个集合。他们选择了一些集合用于创建艺术装置,并需要确定每个集合中是否存在不和谐对的元素。

你需要编写一个程序,对于不同连续元素集合,确定构成不和谐对的元素编号,或者报告该集合中不存在这样的对。

输入格式

输入文件的第一行包含一个整数 NN (2N1000002 \leq N \leq 100000),表示马赛克元素的数量。

接下来的 NN 行,每行包含两个整数 AiA_iBiB_i (1Ai,Bi1091 \leq A_i, B_i \leq 10^{9}, 1iN1 \leq i \leq N),分别表示第 ii 个马赛克元素的长度和宽度。

(N+2)(N + 2) 行包含一个整数 KK (1K1000001 \leq K \leq 100000),表示需要检查不和谐对的集合数量。

接下来的 KK 行,每行包含两个整数 N1N_1N2N_2 (1N1<N2N1 \leq N_1 < N_2 \leq N),分别表示每个集合的第一个和最后一个元素的编号,需要在该集合中查找不和谐对。

输出格式

输出文件应包含 KK 行,每行包含两个以空格分隔的整数,表示对应集合中构成不和谐对的马赛克元素编号。如果存在多个解,可以输出任意一个。如果集合中不存在不和谐对,则在对应行输出 00 00

样例

输入

4
2 2
1 2
1 3
2 3
2
2 3
2 4

输出

0 0
4 2

数据范围与提示

详细子任务附加限制及分值如下表所示:

子任务 分值 附加限制
1 2020 马赛克元素数量 N100N \leq 100,集合数量 K100K \leq 100
2 3030 马赛克元素数量 N1000N \leq 1000,集合数量 K1000K \leq 1000
3 2020 马赛克元素数量 N5000N \leq 5000,集合数量 K5000K \leq 5000
4 3030 马赛克元素数量 N100000N \leq 100000,集合数量 K100000K \leq 100000