Taeyang começa um jogo com $MN$ pedras brancas e pretas numa grelha de $M\times N$, como se mostra abaixo.
Para uma pedra qualquer $X$, as $4$ pedras adjacentes por cima, por baixo, à esquerda e à direita são as suas vizinhas. Taeyang pode escolher uma pedra e mudar a sua cor. As suas vizinhas com a mesma cor original também mudam para a nova cor. O processo repete-se: as vizinhas das pedras que mudam de cor também mudam se tinham a mesma cor original.
Por exemplo, ao mudar a pedra $A$ da figura anterior para branco, as pedras pretas em forma de «ㄷ» tornam-se brancas, como abaixo.
Em seguida, mudar a pedra $C$ para branco produz a figura seguinte.
Depois, muda-se a pedra $F$ para branco e, finalmente, a pedra $E$ para branco, ficando todas brancas. Assim, foram feitas quatro mudanças para tornar todas as pedras brancas.
Contudo, bastam duas mudanças para dar a todas a mesma cor. Primeiro, mudar a pedra $B$ para preto produz a figura seguinte.
Depois, pode mudar-se a pedra $A$ para branco para tornar todas brancas, ou a pedra $D$ para preto para tornar todas pretas. Assim, duas mudanças bastam para que todas tenham a mesma cor.
Dadas pedras brancas e pretas numa grelha de $M\times N$, escreve um programa que determine o número mínimo de mudanças de cor para que todas tenham a mesma cor.
Entrada
A primeira linha contém dois inteiros positivos $M$ e $N$ que descrevem a grelha de $M\times N$, separados por um espaço. Ambos estão entre $2$ e $100$, inclusive. Cada uma das $M$ linhas seguintes contém $N$ valores separados por espaços que descrevem uma linha da grelha: $0$ representa uma pedra branca e $1$ uma preta.
Saída
Imprime na primeira linha o número mínimo de mudanças de cor para que todas as pedras tenham a mesma cor.
Exemplos
Entrada 1
5 6 1 1 0 1 0 0 1 0 0 1 1 1 1 1 0 1 1 1 0 0 0 0 0 0 1 1 1 0 1 1
Saída 1
2