比太郎的房间是一个直角边长度为
一天,比太郎注意到他的房间里充满了灰尘。一开始,房间里有
现在,比太郎打算用扫帚打扫房间。我们可以把扫帚看作房间里的一条线段,并把线段的长度称作扫帚的宽度。比太郎是一个井井有条的人,他只会按照以下两种方式打扫房间:
- 比太郎把扫帚放在
轴上,使扫帚的一个端点落在原点。然后,他沿着 轴的方向水平移动扫帚,直到扫帚碰到房间的斜边为止,保持扫帚的一个端点在 轴上,并且与 轴平行。如果扫帚的宽度是 ,原来位于 的灰尘将会被扫到 处。( 处可能有其它灰尘。)这被称作过程H。 - 比太郎把扫帚放在
轴上,使扫帚的一个端点落在原点。然后,他沿着 轴的方向竖直移动扫帚,直到扫帚碰到房间的斜边为止,保持扫帚的一个端点在 轴上,并且与 轴平行。如果扫帚的宽度是 ,原来位于 的灰尘将会被扫到 处。( 处可能有其它灰尘。)这被称作过程V。
比太郎的房间中依次发生了
- 比太郎询问第
片灰尘的坐标 - 比太郎用宽度为
的扫帚进行过程H - 比太郎用宽度为
的扫帚进行过程V - 一片新的灰尘出现在了
处。如果原来有 片灰尘,新的灰尘的编号就是
给定
输入格式
第一行三个整数
接下来
接下来
- 如果
,这一行还含有一个整数 。这表示比太郎想查询第 片灰尘的坐标。 - 如果
,这一行还含有一个整数 。这表示比太郎用一个宽度为 的扫帚进行过程H。 - 如果
,这一行还含有一个整数 。这表示比太郎用一个宽度为 的扫帚进行过程V。 - 如果
,这一行还含有两个整数 。这表示 处出现了一片新的灰尘。
输出格式
对
样例数据
input1
6 2 10
1 1
4 0
4 2 3
3 3
1 1
4 1 2
2 3
2 0
1 4
3 2
1 3
1 2
output1
1 3
3 2
3 3
6 0
样例解释1
- 一开始,第一片灰尘落在
,第二片落在 ,参照图 。 - 在第一个事件中,第三片灰尘出现在
,参照图 。 - 在第二个事件中,比太郎用宽度为
的扫帚进行过程V。第一片灰尘被移动到了 ,参照图 。 - 在第三个事件中,比太郎计算第一片灰尘的坐标
。 - 在第四个事件中,第四片灰尘出现在了
处,参照图 。 - 在第五个事件中,比太郎用宽度为
的扫帚进行过程H。第一片灰尘的坐标现在是 ,第三片灰尘的坐标现在是 ,第四片灰尘的坐标现在是 ,参照图 。 - 在第六个事件中,比太郎用宽度为
的扫帚进行过程H。第二片灰尘被移到了 ,参照图 。 - 在第七个事件中,比太郎计算第
片灰尘的坐标 。 - 在第八个事件中,比太郎使用宽度为
的扫帚进行操作V。没有灰尘被移动,参照图 。 - 在第九个事件中,比太郎计算第三片灰尘的坐标
。 - 在第十个事件中,比太郎计算第二片灰尘的坐标
。
input2
9 4 8
2 3
3 1
1 6
4 3
2 6
1 3
2 2
1 4
2 3
1 2
2 4
1 1
output2
3 6
4 3
7 1
6 3
这组测试数据符合子任务
input3
8 1 8
1 5
4 4 1
2 6
1 2
2 3
4 2 2
2 5
1 1
1 3
output3
4 1
3 5
3 2
这组测试数据符合子任务
限制与约定
- 第
片灰尘存在 - 至少有一个
的操作。
子任务
- (
分) - (
分) - (
分) - (
分) - (
分) 没有额外的限制
时间限制:
空间限制:
祝大家一遍 AC,求不虐萌萌哒测评机!