CF793B Igor and his way to work

题目描述

伴随着闹钟的铃声,财政分析家 Igor 匆忙起来赶去工作。他吃完早餐后就坐到了他的车上。不幸的,当他打开他的 GPS 导航时,发现在他所居住的小镇 Bankopolis 中的一些道路,由于道路施工而关闭。更不幸的是,车的方向盘有点问题,所以在他去他的银行办公室的途中,**最多只能转两次弯**。 小镇 Bankopolis 可以看做是一个 $n$ 行 $m$ 列的网格图,Igor 需要找到一条从家到银行的道路,这条道路转弯次数最多为 $2$ 次,且不能经过正在维修的道路,或者你可以告诉他不能到达,他应该在家工作。**转弯**定义为 Igor 的车改变一次方向。Igor 的车只能向**上,下,左,右**四个方向行驶。在最开始的时候,Igor 的车可以选择任何方向。因为 Igor 仍然在睡觉,所以请你帮帮他。

输入格式

第一行包含两个正整数 $n$ 和 $m$,表示 Bankopolis 小镇的行数和列数。 接下来 $n$ 行,每行 $m$ 个字符,用于描述一个 $n\times m$ 的矩阵。 可能会出现以下字符: - $\texttt{.}$:一个可行的道路; - $\texttt{*}$:正在施工的道路; - $\texttt{S}$:Igor 的家; - $\texttt{T}$:银行办公室的位置。 保证 $\texttt{S}$ 和 $\texttt{T}$ 出现且只出现一次。

输出格式

如果能够到达,输出 $\texttt{YES}$;否则输出 $\texttt{NO}$。

说明/提示

The first sample is shown on the following picture: ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF793B/e6bc7c9aac8e15b57946280bc3051b9d6c3a5d50.png)In the second sample it is impossible to reach Igor's office using less that $ 4 $ turns, thus there exists no path using no more than $ 2 $ turns. The path using exactly $ 4 $ turns is shown on this picture: ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF793B/c7c28c3dea20674af77d3775330e6ddfcab1c093.png)