660 - メロンパン

時間制限 0.5 秒 / メモリ制限 512 MB / 得点 15 / Writer ei1333 / x 10 / 統計 /


TLE
0.5sec
MLE
512MB
得点
15

問題

サターニャさんが住む街は HW 列のマスに区切られた長方形の形で表されます。

それぞれのマスは, 以下の文字で表されいずれかの意味を持ちます。

  • 'S': サターニャさんが通う高校である。
  • 'G': サターニャさんの家である。
  • '.': 道である。
  • '#': 障害物である。

サターニャさんは, 高校から家にメロンパンを持って帰宅しようとしています。 具体的には, 高校から家に辺で隣接するマスを通って移動します。このとき障害物マスに入ることはできません。

サターニャさんは帰宅はしますが, 馬や鹿のような思考能力を持つ(ガヴリールさんからそう教わったらしい)ので必ずしも最短経路を通って移動するとは限りません。

犬は, サターニャさんが持っているメロンパンが大好物です。 このメロンパンを得るために, 道マスから 1 マスを選んでそのマスで待ち伏せすることに決めました。学校と家はサターニャさんによって掌握されているので, それらのマスを選ぶことはできないので注意してください。

犬は, サターニャさんが必ず通過する道マスで待ち伏せしたいです。 このようなマスがあるか判定してください。

入力

H W
S1,1S1,2...S1,W
S2,1S2,2...S2,W
:
SH,1SH,2...SH,W

1 行目に長方形の行数 H(1 ≤ H ≤ 100), 列数 W(1 ≤ W ≤ 100) が与えられます。

つづく H 行には, それぞれ W 個からなる文字列が与えられます。 ij 列目の文字 Si,j('S', 'G', '.', '#' のいずれか) は, サターニャさんが住む街の ij 列目のマスが Si,j の意味を持つことを表します。

'S' と 'G' は, それぞれちょうど 1 回出現し, 'S' から 'G' に移動できることが保証されています。

出力

1 行に, サターニャさんが必ず通過する道マスが存在する時 yes, 存在しないとき no を出力してください。

入出力例

入力例 1

3 3
S.#
#.#
#.G

出力例 1

yes

2 列目のどのマスで待っていても, 必ずサターニャさんが通過します。

入力例 2

3 3
S..
.#.
..G

出力例 2

no

右上のマスを通る経路, 左下のマスを通る経路の 2 つ存在します。どのマスを選んでも, 別の経路が選ばれる可能性があります。

入力例 3

3 4
....
.SG.
....

出力例 3

no