#P1025. Fat L.

Fat L.

问题描述

Fat L. 最近正在做 Tong Ji University Online Judge 的题目。由于种种原因,他总是开了一个题目看了一半,又马上打开另一个看看(题目太 easy 了,不屑于做?应该不是,他很脚踏实地的,那难道是……嘿嘿)。这样,总是桌面上出现很多网页(每个网页是一个题目)。由于种种原因,有些题目看了一半不看了,过了一会儿又想再看看,于是产生了一个问题:这么多窗口,每次用鼠标点,还并不一定一次就点得到想要的窗口呢。于是他想写一个程序,来解决他的困扰。但由于种种原因,他这个程序写了一半,又不想写了(程序太 easy 了,不屑于做?应该不是,他很脚踏实地的,那难道是……嘿嘿),总之他是不打算写了。于是作为乐于助人的你来帮他完成这个任务,他的要求是这样的:

  1. 给定 nn 条指令(n10000n \leq 10000),每条指令可能有下列三种情况;
  2. 第一种:新开一个窗口;(刚开始桌面是空白的,后开的窗口总是在前开的窗口上面。)
  3. 第二种:鼠标点击一个坐标;
  4. 第三种:关闭一个窗口;(保证该窗口一定存在。)

他的目的是通过这些指令,要你告诉他最后显示在桌面上最上面的那个窗口(如果这个时候桌面上存在至少一个窗口)。输入数据中没有两个窗口的大小和位置一样。

输入格式

第一行一个数 TT,表示有 TT 组测试数据。

从第二行开始描述每组测试数据。每组测试数据第一行一个数 nn,表示下面有 nn 条指令。每条指令有三种情况:

  1. 新开一个窗口:一行一共 55 个参数,第一个是一个字符串 Creat,第二个到第五个描述一个窗口的一对顶角坐标 x1x_1, y1y_1, x2x_2, y2y_20x1,x2,y1,y2100000 \leq x_1, x_2, y_1, y_2 \leq 10000);
  2. 鼠标点击一个坐标:一行一共 33 个参数,第一个是一个字符串 Click,第二三个描述一个点击坐标 xx, yy0x,y100000 \leq x, y \leq 10000)。若该坐标对应一个窗口,则把对应当前最上面的窗口移至桌面最上面;若该坐标对应桌面,则为空操作;
  3. 关闭一个窗口:一行一共 55 个参数,第一个是一个字符串 Close,第二个到第五个描述一个窗口的左上角和右下角 x1x_1, y1y_1, x2x_2, y2y_20x1,x2,y1,y2100000 \leq x_1, x_2, y_1, y_2 \leq 10000)。

输出格式

一共 TT 行,每行表示一组测试数据的输出。每组测试数据输出四个参数 x1x_1, y1y_1, x2x_2, y2y_2,表示当前桌面最上方的窗口对应的左上角和右下角。

样例输入

1
5
Creat 0 0 100 100
Close 0 0 100 100
Creat 0 0 100 100
Creat 1 1 101 101
Click 0 0

样例输出

0 0 100 100