Dragões em Harmonia

Os tratadores de dragões de Dragolândia estão reorganizando um grande terreno retangular, dividido em células quadradas de mesmo tamanho, dispostas em NN linhas e MM colunas. Algumas células contêm obstáculos, como montanhas e poços de lava, enquanto as demais células são espaços livres, cada uma habitada por um dragão.

Para dar novos ares ao ambiente sem desorganizar a dinâmica do grupo, os tratadores desenharam em um pergaminho mágico transparente a posição atual de todos os dragões, de modo que cada célula livre do terreno corresponda a uma marcação no pergaminho. Eles planejam realocar os dragões usando esse mesmo pergaminho como molde. Para isso, os tratadores podem manipular o pergaminho livremente sobre a mesa: podem girá-lo em qualquer sentido ou até mesmo virá-lo ao contrário (olhando pelo verso da folha transparente).

Uma nova disposição é considerada válida se o pergaminho se alinhar perfeitamente aos limites originais do terreno e se todas as marcações de dragões caírem exatamente sobre células livres. Obviamente, nenhum dragão pode ser posicionado sobre um obstáculo.

Sua tarefa é calcular o número total de maneiras válidas de alinhar o pergaminho ao terreno. Cada orientação física distinta do pergaminho é contada como uma maneira diferente, mesmo que duas orientações façam as marcações caírem exatamente sobre as mesmas células. A orientação inicial, com o pergaminho sem ser girado ou virado, já conta como uma maneira válida.

Entrada

A primeira linha da entrada contém dois inteiros NN e MM (1N,M10001 \leq N, M \leq 1000), representando as dimensões do terreno.

As próximas NN linhas contêm MM caracteres cada, descrevendo o terreno:

Saída

Imprima uma única linha contendo um número inteiro: a quantidade de maneiras válidas de alinhar o pergaminho ao terreno.

Exemplos

Entrada

3 3
..#
...
###

Saída

1

Entrada

3 3
.#.
...
#.#

Saída

2

Entrada

2 4
....
....

Saída

4