Match 3

Uma variante comum no gênero puzzle dos jogos eletrônicos é o Match 3, onde o jogador tem que encontrar e eliminar grupos de três ou mais peças de mesmo tipo e/ou cor. Em geral, as peças estão dispostas em em uma matriz bidimensional, e os grupos devem ser formados tanto na vertical quanto na horizontal, embora em alguns jogos outras direções e combinações sejam possíveis.

Quando não há nenhuma jogada válida, isto é, não há nenhum grupo de peças que possa ser eliminado, ou a partida termina, tirando uma chance do jogador, ou a matriz é reembaralhada, de modo que passe a existir novas jogadas. Determinar se há ou não jogadas válidas também é útil no sentido de gerar dicas para o jogador, caso este esteja com dificuldades em encontrar uma jogada possível.

Dado uma matriz com NN linhas e MM colunas e a disposição das peças, determine se existe ou não uma jogada válida.

Entrada

A primeira linha da entrada contém os valores dos inteiros NN e MM (3M,N2×1033\leq M, N\leq 2\times 10^3), separados por um espaço em branco, que representam as dimensões da matriz.

Cada uma das próximas NN linhas contém MM caracteres alfabéticos maiúsculos, onde jj-ésimo caractere da ii-ésima linha representa o elemento que o ocupa a ii-ésima linha, jj-ésima coluna da matriz. Cada caractere representa um tipo distinto de peça.

Saída

Imprima, em uma linha, a mensagem “Sim”, caso ainda exista ao menos um movimento válido, ou a mensagem “Nao”“, caso contrário.

Exemplo de entrada 1

3 3
ABC
CAB
BCA

Exemplo de saída 1

Nao

Exemplo de entrada 2

3 4
ABCD
EFGH
IJKL

Exemplo de saída 2

Nao

Exemplo de entrada 3

3 3
ABB
CBC
AAA

Exemplo de saída 3

Sim

Exemplo de entrada 4

4 4
ABCB
BDDB
DBDB
EEEA

Exemplo de saída 4

Sim