Taeyang comienza un juego con $MN$ piedras blancas y negras situadas en una cuadrícula de $M\times N$, como se muestra a continuación.
Para una piedra cualquiera $X$, las $4$ piedras adyacentes por arriba, abajo, izquierda y derecha se llaman sus vecinas. Taeyang puede elegir una piedra y cambiar su color. Sus vecinas que tenían el mismo color original también cambian al nuevo color. Este proceso se repite: las vecinas de las piedras que cambian de color también lo cambian si tenían el mismo color original.
Por ejemplo, al cambiar la piedra $A$ de la figura anterior a blanco, las piedras negras con forma de «ㄷ» se vuelven blancas, como se muestra a continuación.
Después, cambiar la piedra $C$ a blanco produce la siguiente figura.
Luego se cambia la piedra $F$ a blanco y finalmente la piedra $E$ a blanco, con lo que todas quedan blancas. Así, se han necesitado cuatro cambios para volver blancas todas las piedras.
Sin embargo, se puede lograr que todas tengan el mismo color con solo dos cambios. Primero, cambiar la piedra $B$ a negro produce la siguiente figura.
Entonces se puede cambiar la piedra $A$ a blanco para que todas queden blancas, o la piedra $D$ a negro para que todas queden negras. Así, bastan dos cambios para que todas tengan el mismo color.
Dadas piedras blancas y negras en una cuadrícula de $M\times N$, escribe un programa que calcule el número mínimo de cambios de color necesarios para que todas tengan el mismo color.
Entrada
La primera línea contiene dos enteros positivos $M$ y $N$ que describen la cuadrícula de $M\times N$, separados por un espacio. Ambos están entre $2$ y $100$, inclusive. Cada una de las siguientes $M$ líneas contiene $N$ valores separados por espacios que describen una fila: $0$ indica una piedra blanca y $1$ una negra.
Salida
Imprime en la primera línea el número mínimo de cambios de color necesarios para que todas las piedras tengan el mismo color.
Ejemplos
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
Salida 1
2