Jaemin stworzył aplikację z grą logiczną.
Na jednym z pól siatki znajduje się piłka. Możesz toczyć ją w górę, w dół, w lewo lub w prawo. Piłka toczy się w wybranym kierunku, aż uderzy w ścianę lub granicę siatki. Na niektórych polach znajdują się gwiazdki. Gracz zbiera gwiazdkę, gdy piłka zatrzyma się na jej polu lub przez nie przetoczy. Celem gry jest zebranie wszystkich gwiazdek na siatce.
Aplikacja ma edytor poziomów, dzięki któremu gracze mogą tworzyć i udostępniać własne poziomy. Pewnego dnia ktoś zasugerował: „Proszę dodać funkcję sprawdzającą, czy mój poziom da się rozwiązać!”. Łatwiej powiedzieć, niż zrobić, prawda?
Wejście
Pierwszy wiersz wejścia zawiera dwie liczby całkowite: $H$ (wysokość) i $W$ (szerokość). ($1 \leq H, W \leq 50$) Każdy z kolejnych $H$ wierszy zawiera napis długości $W$ opisujący jeden wiersz siatki. „#” oznacza ścianę, „.” oznacza puste pole, „O” oznacza piłkę, a „*” oznacza gwiazdkę. Na siatce znajduje się dokładnie jedna piłka i co najmniej jedna gwiazdka.
Wyjście
Wypisz „YES”, jeśli można zebrać wszystkie gwiazdki, a w przeciwnym razie „NO”.
Przykład
Wejście 1
3 7 #..O..# #.###.# *..#..*
Wyjście 1
NO
Wejście 2
6 6 *..*## ..O... *..*#. ####*. ...... .....#
Wyjście 2
YES