CF BUDDY
← Problems·

1511E · Colorings and Dominoes

2100 · combinatorics, dp, greedy

Problem: You have a large rectangular board which is divided into n×mn \times m cells (the board has nn rows and mm columns). Each cell is either white or black.

You paint each white cell either red or blue. Obviously, the number of different ways to paint them is 2w2^w, where ww is the number of white cells.

After painting the white cells of the board, you want to place the maximum number of dominoes on it, according to the following rules:

  • each domino covers two adjacent cells;
  • each cell is covered by at most one domino;
  • if a domino is placed horizontally (it covers two adjacent cells in one of the rows), it should cover only red cells;
  • if a domino is placed vertically (it covers two adjacent cells in one of the columns), it should cover only blue cells.

Let the value of the board be the maximum number of dominoes you can place. Calculate the sum of values of the board over all 2w2^w possible ways to paint it. Since it can be huge, print it modulo 998244353998\,244\,353.

Input Format: The first line contains two integers nn and mm (1n,m31051 \le n, m \le 3 \cdot 10^5; nm3105nm \le 3 \cdot 10^5) — the number of rows and columns, respectively.

Then nn lines follow, each line contains a string of mm characters. The jj-th character in the ii-th string is * if the jj-th cell in the ii-th row is black; otherwise, that character is o.

Output Format: Print one integer — the sum of values of the board over all 2w2^w possible ways to paint it, taken modulo 998244353998\,244\,353.

Sample Cases

Case 1

Input

3 4
**oo
oo*o
**oo

Output

144

Case 2

Input

3 4
**oo
oo**
**oo

Output

48

Case 3

Input

2 2
oo
o*

Output

4

Case 4

Input

1 4
oooo

Output

9

Similar problems

00:00:00
Loading editor…
Welcome! I'm your coding tutor for this problem. Use the chips below to reveal stored hints or get AI feedback on your code. I'll guide you step by step — never giving away the solution.

Sign in to unlock AI tutor feedback