Одного разу Іринка потрапила в лабіринт, вона не знає чи можливо з нього вийти, а якщо можливо, то існує багато варіантів виходу. Іринка починає з верхнього лівого кута, а закінчує в правому нижньому.
В лабіринті є 2 типи клітинок:
- «#» - клітинка в яку не можливо потрапити
- «.» - клітинка через яку можна пройти
Формат вхідних даних
В першому рядку вводиться два цілих числа \(n\) i \(m\) \((1 \le n,m \le 1000)\)– розміри матриці.
Далі задається матриця з \(n\) рядків і \(m\) стовпчиків.
Формат вихідних даних
Виведіть «NO», якщо в правий нижній кут потрапити неможливо, інакше, виведіть «YES» і кількість способів потрапити в правий нижній кут.
Кількість способів виводити по модулю \(10^9 + 7\).
Приклад вхідних даних
3 3
...
...
...
Приклад вихідних даних
YES
6
Приклад вхідних даних
2 2
.#
#.
Приклад вихідних даних
NO
Коментарі