#P1206. 灵魂互换

灵魂互换

说明

小崧白天是勤勤恳恳做实验的学生,晚上是拯救世界的(中二)魔法少年;小南白天是忙忙碌碌的程序员,晚上是天赋奇高的(通宵)修仙者。

仙女钰钰今天犯了一个大错,她不小心把师父东东教的灵魂交换咒用在了小崧和小南身上!

“这可怎么办呀,幸好现在是晚上,要在这两个人睡醒之前把灵魂换回去,可不能让师父发现了,不然又要罚我抄书了。”钰钰心想。

钰钰念动咒语使小崧和小南的灵魂与身体分离,可是,钰钰的脑子转的不够快,无法快速的找到一条从小崧到小南的路径,你能帮帮她吗?

注意,从小崧到小南的路径不能超过两个转弯,不然灵魂就会受到惊吓醒来,这可不是钰钰想看到的结果。

灵魂处在一个n*m的矩阵中,S”代表小崧的位置,”T”代表小南的位置,”.”代表灵魂可以经过的地方,”*”代表灵魂经过就会消散的地方,钰钰只能使灵魂向上下左右四个方向移动,起初灵魂可以朝向任意方向,找到是否有一条路径从小崧到小南且满足只有两个转弯。

输入格式

第一行两个数字n2<=n<=1000)和m2<=m<=1000,代表矩阵行数和列数;

接下来n行每行有m个字符,各字符表示如下:

S——小崧的位置

T——小南的位置

.——灵魂可以经过的地方

*——灵魂经过就会消散的地方

保证ST只出现一次。

输出格式

只输出一行

如果能找到一条从小崧到小南且不超过两个转弯的路径,输出”YES”,否则输出”NO”。

样例

5 5 
..S..
****.
T....
****.
.....
YES

样例

5 5
S....
****.
.....
.****
..T..
NO

提示

第一个样例如图:

M6)ETQ1BI1XWJT1QB_BBO0V.png