Jaemin desarrolló una aplicación de un juego de puzles.
Hay una bola en una casilla de una cuadrícula. Puedes hacerla rodar hacia arriba, hacia abajo, hacia la izquierda o hacia la derecha. La bola rueda en esa dirección hasta chocar con una pared o con el borde. Algunas casillas tienen estrellas, y el jugador obtiene una estrella cuando la bola se detiene en su casilla o pasa por ella. El objetivo del juego es obtener todas las estrellas de la cuadrícula.
Esta aplicación tiene un editor de niveles con el que los jugadores pueden crear y compartir sus propios niveles. Un día, alguien sugirió: «¡Por favor, añade una función para comprobar si mi nivel se puede resolver!». Es más fácil decirlo que hacerlo, ¿verdad?
Entrada
La primera línea de la entrada contiene dos enteros, $H$ (altura) y $W$ (anchura). ($1 \leq H, W \leq 50$) Cada una de las siguientes $H$ líneas contiene una cadena de longitud $W$ que describe una fila de la cuadrícula. «#» representa una pared, «.» una casilla vacía, «O» una bola y «*» una estrella. Hay exactamente una bola y al menos una estrella en la cuadrícula.
Salida
Imprime «YES» si es posible obtener todas las estrellas; en caso contrario, imprime «NO».
Ejemplos
Entrada 1
3 7 #..O..# #.###.# *..#..*
Salida 1
NO
Entrada 2
6 6 *..*## ..O... *..*#. ####*. ...... .....#
Salida 2
YES