We have a grid with $H$ horizontal rows and $W$ vertical columns of squares, where each square is tidy or untidy.
You will now place lamps on zero or more tidy squares in this grid.
A lamp will lighten the squares in each of the four directions - up, down, left, and right - to the point just before an edge of the grid or an untidy square is reached for the first time (the untidy square will not be lighted). The lamp will also lighten the square on which it is placed.
Given are integers $H$, $W$, and $H$ strings $S_i$ of length $W$ each. If the $j$\-th character of $S_i$ is `.`, the square at the $i$\-th row from the top and the $j$\-th column from the left is tidy; if the $j$\-th character of $S_i$ is `#`, the square at the $i$\-th row from the top and the $j$\-th column from the left is untidy.
Let $K$ be the number of tidy squares. There are $2^K$ ways to place the lamps in total. Assume that, for each of these $2^K$ ways, the number of squares lightened by one or more lamps is computed. Find the sum of those numbers modulo $1,000,000,007$.
## Constraints
* $1 \leq H \leq 2000$
* $1 \leq W \leq 2000$
* $S_i$ is a string of length $W$ consisting of `.` and `#`.
## Input
Input is given from Standard Input in the following format:
$H$ $W$
$S_1$
$:$
$S_H$
[samples]