Jaemin 開發了一款益智遊戲應用程式。
一顆球放在網格的某個格子裡。你可以讓球向上、向下、向左或向右滾動。球會沿著該方向一直滾動,直到碰到牆壁或邊界。有些格子上有星星,當球停在這樣的格子上或經過它時,玩家就會獲得這顆星星。遊戲的目標是獲得網格中的所有星星。
這個應用程式有一個關卡編輯器,玩家可以用它製作並分享自己的關卡。有一天,有人建議:「請加一個功能,檢查我的關卡能不能解出來!」說起來容易,做起來難,對吧?
輸入格式
輸入的第一行包含兩個整數 $H$(高度)和 $W$(寬度)。($1 \leq H, W \leq 50$)接下來的 $H$ 行每行包含一個長度為 $W$ 的字串,描述網格的每一列。「#」表示牆壁,「.」表示空格,「O」表示球,「*」表示星星。網格中恰好有一顆球,且至少有一顆星星。
輸出格式
如果能夠獲得所有星星,輸出「YES」,否則輸出「NO」。
範例
輸入格式 1
3 7 #..O..# #.###.# *..#..*
輸出格式 1
NO
輸入格式 2
6 6 *..*## ..O... *..*#. ####*. ...... .....#
輸出格式 2
YES