Robots
Contest: Educational Codeforces Round 128 (Rated for Div. 2)
Difficulty rating: 800
Tags: implementation

There is a field divided into $$$n$$$ rows and $$$m$$$ columns. Some cells are empty (denoted as E), other cells contain robots (denoted as R).

You can send a command to all robots at the same time. The command can be of one of the four types:

- move up;
- move right;
- move down;
- move left.

When you send a command, all robots at the same time attempt to take one step in the direction you picked. If a robot tries to move outside the field, it explodes; otherwise, every robot moves to an adjacent cell in the chosen direction.

You can send as many commands as you want (possibly, zero), in any order. Your goal is to make at least one robot reach the upper left corner of the field. Can you do this without forcing any of the robots to explode?

Input format:
The first line contains one integer $$$t$$$ ($$$1 \le t \le 5000$$$) — the number of test cases.

Each test case starts with a line containing two integers $$$n$$$ and $$$m$$$ ($$$1 \le n, m \le 5$$$) — the number of rows and the number of columns, respectively. Then $$$n$$$ lines follow; each of them contains a string of $$$m$$$ characters. Each character is either E (empty cell} or R (robot).

Additional constraint on the input: in each test case, there is at least one robot on the field.

Output format:
If it is possible to make at least one robot reach the upper left corner of the field so that no robot explodes, print YES. Otherwise, print NO.

Constraints:
Time limit: 2.0 s
Memory limit: 512.0 MB

Note:
Explanations for test cases of the example:

1. in the first test case, it is enough to send a command to move left.
2. in the second test case, if you try to send any command, at least one robot explodes.
3. in the third test case, it is enough to send a command to move left.
4. in the fourth test case, there is already a robot in the upper left corner.
5. in the fifth test case, the sequence "move up, move left, move up" leads one robot to the upper left corner;
6. in the sixth test case, if you try to move any robot to the upper left corner, at least one other robot explodes.

Example input:
6
1 3
ERR
2 2
ER
RE
2 2
ER
ER
1 1
R
4 3
EEE
EEE
ERR
EER
3 3
EEE
EER
REE

Example output:
YES
NO
YES
YES
YES
NO

Editorial:
Let's assume that the rows are numbered from $$$0$$$ to $$$n-1$$$ from top to bottom, and columns are numbered from $$$0$$$ to $$$m-1$$$ from left to right.
If there is no robot in the cell $$$(0, 0)$$$ initially, we have to perform several moves up and/or left. If the first row with at least one robot is the $$$i$$$-th row, then we can make at most $$$i$$$ steps up (and we should do at least $$$i$$$ steps up, since otherwise there will me no robot in the upper row). Similarly, if the first column with at least one robot is the $$$j$$$-th column, then we can make at most $$$j$$$ steps to the left (and we should do at least $$$j$$$ steps to the left, since otherwise there will me no robot in the leftmost column).
Now there are two possible solutions, both starting with finding $$$i$$$ and $$$j$$$: we afterwards either simulate $$$i$$$ moves up and $$$j$$$ moves to the left and check that everything is fine, or just check that there is a robot in the cell $$$(i, j)$$$ (since only this robot can end up in $$$(0, 0)$$$).