Jaemin desenvolveu uma aplicação de um jogo de quebra-cabeças.
Uma bola está colocada numa célula de uma grelha. Podes fazê-la rolar para cima, para baixo, para a esquerda ou para a direita. A bola rola nessa direção até atingir uma parede ou o limite da grelha. Algumas células têm estrelas, e o jogador obtém uma estrela quando a bola para na respetiva célula ou passa por ela. O objetivo do jogo é obter todas as estrelas da grelha.
Esta aplicação tem um editor de níveis no qual os jogadores podem criar e partilhar os seus próprios níveis. Um dia, alguém sugeriu: «Por favor, adiciona uma funcionalidade para verificar se o meu nível pode ser resolvido!». É mais fácil dizer do que fazer, não é?
Entrada
A primeira linha da entrada contém dois inteiros, $H$ (altura) e $W$ (largura). ($1 \leq H, W \leq 50$) Cada uma das $H$ linhas seguintes contém uma cadeia de caracteres de comprimento $W$ que descreve uma linha da grelha. «#» representa uma parede, «.» uma célula vazia, «O» uma bola e «*» uma estrela. Existe exatamente uma bola e pelo menos uma estrela na grelha.
Saída
Escreve «YES» se for possível obter todas as estrelas; caso contrário, escreve «NO».
Exemplos
Entrada 1
3 7 #..O..# #.###.# *..#..*
Saída 1
NO
Entrada 2
6 6 *..*## ..O... *..*#. ####*. ...... .....#
Saída 2
YES