B - Efectos visuales

Languages: C, C++, Java, Haskell, Pascal, Python, JavaScript, Tiger, C#
Time & Memory limits: (details)

Fito es el creador de un software de edición de imágenes que se ha hecho muy popular en los últimos tiempos. Por esta razón, él decide incorporarle efectos de visualización a su programa, y para ello te contrata como desarrollador. Una imagen es representada como una matriz de $N \times M$ valores enteros que representan la información de color de cada píxel. La visualización de una imagen debe permitir hacer análisis de segmentación sobre ella de manera fácil, por lo que píxeles adyacentes cuyos valores son iguales pertenecerán al mismo segmento en la visualización, y viceversa. Ver casos de prueba de ejemplo para más detalles.

Input

En la primera línea : dos enteros $N$ y $M$ $(1 \le N \times M \le 10^5)$ que representan el alto y el ancho de la imagen, respectivamente.
En las próximas N líneas : la matriz de valores de la imagen, con $M$ valores en cada fila. Cada valor está constituido por un único dígito.

Output

La visualización de la imagen que Fito pide, ajustándose al formato de los casos de prueba de ejemplo.

Sample test(s)

Input
2 2 11 11
Output
+-+-+ | | + + + | | +-+-+
Input
4 4 1234 1134 4334 4444
Output
+-+-+-+-+ | | | | | + +-+ + + | | | | +-+-+ + + | | | | + +-+-+ + | | +-+-+-+-+
Input
4 4 1111 2331 2431 2221
Output
+-+-+-+-+ | | +-+-+-+ + | | | | + +-+ + + | | | | | + +-+-+ + | | | +-+-+-+-+
Input
4 4 1122 1223 1234 1234
Output
+-+-+-+-+ | | | + +-+ +-+ | | | | + + +-+-+ | | | | | + + + + + | | | | | +-+-+-+-+