Codeforces Round 141 (Div. 2)
C
Fractal Detector
Codeforces
2000
原题
← BD →
翻译中…

Little Vasya likes painting fractals very much.

翻译中…

He does it like this. First the boy cuts out a $2 × 2$-cell square out of squared paper. Then he paints some cells black. The boy calls the cut out square a fractal pattern. Then he takes a clean square sheet of paper and paints a fractal by the following algorithm:

翻译中…
  1. He divides the sheet into four identical squares. A part of them is painted black according to the fractal pattern.
  2. Each square that remained white, is split into 4 lesser white squares, some of them are painted according to the fractal pattern. Each square that remained black, is split into 4 lesser black squares.
翻译中…

In each of the following steps step 2 repeats. To draw a fractal, the boy can make an arbitrary positive number of steps of the algorithm. But he need to make at least two steps. In other words step 2 of the algorithm must be done at least once. The resulting picture (the square with painted cells) will be a fractal. The figure below shows drawing a fractal (here boy made three steps of the algorithm).

翻译中…

image

翻译中…

One evening Vasya got very tired, so he didn't paint the fractal, he just took a sheet of paper, painted a $*n* × *m*$-cell field. Then Vasya paint some cells black.

翻译中…

Now he wonders, how many squares are on the field, such that there is a fractal, which can be obtained as described above, and which is equal to that square. Square is considered equal to some fractal if they consist of the same amount of elementary not divided cells and for each elementary cell of the square corresponding elementary cell of the fractal have the same color.

翻译中…

Input

翻译中…

The first line contains two space-separated integers $*n*, *m*$ $(2 ≤ *n*, *m* ≤ 500)$ — the number of rows and columns of the field, correspondingly.

翻译中…

Next $*n*$ lines contain $*m*$ characters each — the description of the field, painted by Vasya. Character "." represents a white cell, character "*" represents a black cell.

翻译中…

It is guaranteed that the field description doesn't contain other characters than "." and "*".

翻译中…

Output

翻译中…

On a single line print a single integer — the number of squares on the field, such that these squares contain a drawn fractal, which can be obtained as described above.

翻译中…

Note

翻译中…

The answer for the first sample is shown on the picture below. Fractals are outlined by red, blue and green squares.

翻译中…

image

翻译中…

The answer for the second sample is 0. There is no fractal, equal to the given picture.

翻译中…

image

翻译中…

样例

Input #1
6 11
......*.***
*.*.*....**
.***....*.*
..***.*....
.*.*.....**
......*.*..
Output #1
3
InputCopy OutputCopy
Input #2
4 4
..**
..**
....
....
Output #2
0
InputCopy OutputCopy
题目信息
题号
228C
时间限制
4 s
内存限制
256 MB
标签
动态规划
哈希

题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。