编程题
### 问题描述
小蓝今天过生日,他想叫一些朋友来陪他一起过生日。小蓝家所处的地形我们可以看作是一个平面直角坐标系,不过这个坐标系有一些特殊,它是有范围的,坐标系左上角的点为 $(-10^5,10^5)$,右下角的点为 $(10^5,-10^5)$,左下角的点为 $(-10^5,-10^5)$,右上角的点为 $(10^5,10^5)$,小蓝家位置的坐标为 $(x , y)$ 。
现在小蓝有 $n$ 个朋友,都住在不同的地方,由于道路的修建有一些问题,导致朋友们只能走上,下,左,右其中某些方向。请你帮小蓝判断一下,小蓝的朋友们是否都能到达小蓝家。**如果可以,直接输出 `YES` 和小蓝家地址即可。**如果不能,请你帮小蓝选一个新的聚会地址,使得所有朋友都能到达小蓝家。如果地图上不存在该位置,则输出 `-1`。
注:小蓝可以选择任意一个位置作为新的聚会地址,同时如果有多个合适的聚会地址,小蓝会优先选择坐标系中 **最左上角的**。
我们规定,输入 'U' 代表可以向上走,输入 'D' 代表可以向下走,输入 'L' 代表可以向左走,输入 'R' 代表可以向右走,输入'N' 代表无效(不能走上下左右任何方向之一)。
### 输入格式
第一行输入一个正整数 $T$ ,表示测试案例的个数。
对于每组测试数据:
第一行输入三个数 $n,x,y$,分别表示小蓝的朋友数量,以及小蓝家的坐标,保证 $n$ 大于 $0$ 。
接下来 $n$ 行,每行四个字母(可以重复输入同一个字母),表示该朋友可以行走的方向,然后是两个整数 $a,b$,表示该朋友的初始位置。
### 输出格式
对于每个问题,如果满足题意,输出两行,第一行为 `YES` ,第二行为满足条件的坐标。如果不满足题意,则输出一行,为 `-1`。
### 样例输入1
```text
1
4 2 3
U L D N 3 2
U R D N 1 3
U R L N 1 2
L R D N 3 4
```
### 样例输出1
```text
YES
2 3
```
### 样例输入2
```
3
2 -90835 -72123
L N U N -74994 -71093
U R N U -85772 -77000
5 -97931 -80475
R L U R -71853 -84509
N D U D -74156 -83165
R U U L -80833 -78501
D L R U -73389 -70934
N R R N -77660 -71926
2 -90835 72123
L N U N -7 -8
L N U U -9 -10
```
### 样例输出2
```
YES
-85772 100000
YES
-74156 -71926
YES
-90835 72123
```
### 说明
对于第一个样例:
第一个朋友能走的范围:

第一个朋友和第二个朋友能走的范围交集:(橙黄色部分是交集,绿色部分是第二个朋友能走的范围)。

前三个朋友的公共范围:(紫色部分为三个朋友能走的交集)。

最终的公共范围:(蓝色部分)。

发现 $(2,3)$ 在 $4$ 个矩形的公共区域内,因此直接输出 $(2,3)$ 即可。
也就是说本题给定了你一些矩形,你需要求出这些矩形的交集部分,并按照题目要求作出判断。
### 评测数据规模
$1\leq T\leq 10^{3},1\leq n \leq 10^{3},-10^{5}\leq x,y \leq 10^{5},-10^{5}\leq x, y \leq 10^{5}$。