eolymp
bolt
Try our new interface for solving problems
Məsələlər

Оросители 2: Возвращение люцерны

Оросители 2: Возвращение люцерны

У фермера Джона есть небольшое поле в форме сетки n на n, где j - ый квадрат слева от i - го ряда сверху - обозначается (i, j) для всех 1i, jn. Он заинтересован в выращивании сладкой кукурузы и люцерны на своем поле. Для этого ему необходимо установить специальные оросители.

Распылитель сладкой кукурузы в квадрате (I, J) опрыскивает все квадраты в нижнем левом углу: то есть (i, j) с Ii и jJ.

Распылитель люцерны в квадрате (I, J) опрыскивает все квадраты в правом верхнем углу: то есть (i, j) с iI и Jj.

В квадрате, опрысканном одним или несколькими разбрызгивателями сладкой кукурузы, можно выращивать сладкую кукурузу; в квадрате, опрысканном одним или несколькими разбрызгивателями люцерны, можно вырастить люцерну. Но на квадрате, опрысканном обоими типами дождевателей (или ни одним из них), ничего не вырастет.

Помогите ФД определить количество способов (по модулю 109 + 7) установки спринклеров на его поле, не более одного на квадрат, чтобы каждый квадрат был плодородным (то есть опрыскивался ровно одним типом спринклера).

Некоторые квадраты уже заняты шерстистыми коровами; это не мешает этим площадям быть плодородными, но на таких квадратах нельзя устанавливать спринклеры.

Входные данные

Первая строка содержит единственное целое число n (1n2000). Для каждого i (1in) i + 1 - ая строка содержит строку длины n и обозначает i - ую строку сетки. Каждый символ строки представляет собой один 'W' (обозначает квадрат, занятый шерстистой коровой) или '.' (незанятый квадрат).

Выходные данные

Выведите остаток от деления количества способов установки оросителей на 109 + 7.

Пример

Вот все четырнадцать возможностей, когда сладкая кукуруза может расти в (1, 1).

CC  .C  CA  CC  .C  CA  CA  C.  CA  C.  CC  .C  CC  .C  
CC, CC, CC, .C, .C, .C, CA, CA, .A, .A, C., C., .., ..
Zaman məhdudiyyəti 1 saniyə
Yaddaşı istafadə məhdudiyyəti 128 MiB
Giriş verilənləri #1
2
..
..
Çıxış verilənləri #1
28
Giriş verilənləri #2
4
..W.
..WW
WW..
...W
Çıxış verilənləri #2
2304
Mənbə 2020 USACO US Open, Платина