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