3398 - 最左边的点

在一个笛卡尔坐标系中,定义三种操作:

  1. add x y :在坐标系上标记一个点 (x,y),保证 (x,y) 在添加前不在坐标系上。

  2. remove x y :移除点 (x,y),保证 (x,y) 在移除前已在坐标系上。

  3. find x y :找到所有已标记并在 (x,y) 右上方的点中,最左边的点,若点不唯一,选择最下面的一个点; 如果没有符合要求的点,给出 -1,否则给出(x,y)

现有 n 个操作,对于每个 find 操作,输出结果。

输入

第一行输入一个数字n,表示操作的数量

接下来n行输入,每行表示一次操作

输出

对于每个操作3输出一行,包含两个数字,表示点的坐标

样例

输入

7
add 1 1
add 3 4
find 0 0
remove 1 1
find 0 0
add 1 1
find 0 0

输出

1 1
3 4
1 1

输入

13
add 5 5
add 5 6
add 5 7
add 6 5
add 6 6
add 6 7
add 7 5
add 7 6
add 7 7
find 6 6
remove 7 7
find 6 6
find 4 4

输出

7 7
-1
5 5

提示

n \le 2 \times 10^50 \le x,y \le 10^9

来源

CodeForces

时间限制 2 秒
内存限制 256 MB
讨论 统计
上一题 下一题