#P2766. Laserbox

Laserbox

题目描述

激光盒是一款涉及光学设备的游戏。游戏棋盘是一个n×nn \times n的正方形网格。每个网格点上可以放置一种称为"右转器"的装置,游戏包含多个这样的装置。此外还有一个红宝石激光器,若将激光器安装在某一列的底端,激光束会向北穿过该列;类似地,激光束也可以从某一列的顶端向南发射、从某一行的起点向东发射或从某一行的终点向西发射。

游戏开始时,若干右转器被放置在网格点上,激光器(关闭状态)被安装在棋盘边界某处。玩家需要推断当激光开启时,光束会从何处射出。右转器的作用是使光束向右偏转9090度,无论光束从哪个方向进入。

你的程序需要完成玩家应该完成的任务。

输入

第一行是一个正整数,表示测试用例的数量。每个测试用例的第一行包含两个整数nnrr,其中1n501 \leq n \leq 50表示棋盘大小,1r501 \leq r \leq 50表示右转器的数量。接下来的rr行每行包含右转器的坐标x yx\ y。没有两个右转器会具有相同坐标。

最后一行包含两个整数,表示激光器的位置。例如:第六列的底端表示为6 06\ 0,第七行的起点表示为0 70\ 7。如果将00替换为n+1n+1,则分别表示第六列的顶端和第七行的终点。

输出

对于每个测试用例,输出一行包含光束离开棋盘时的坐标X YX\ Y。坐标规则与激光器相同,因此XX可能为00n+1n+1,或YY00n+1n+1。如果光束被捕获且未离开棋盘,则输出0 00\ 0

样例输入

2  
2 3  
1 1  
1 2  
2 2  
3 1  
3 6  
1 1  
1 3  
2 2  
2 3  
3 1  
3 2  
2 0  

样例输出

2 0  
0 2  

来源

Northwestern Europe 2005