B - Efectos visuales

Languages: C, C++, Java, JavaScript, Tiger, Python, Haskell, Pascal, 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
--- Showing first 30 lines (click "Copy" to get full content) ---
Output
+-+-+ | | + + + | | +-+-+
--- Showing first 30 lines (click "Copy" to get full content) ---
Input
4 4 1234 1134 4334 4444
--- Showing first 30 lines (click "Copy" to get full content) ---
Output
+-+-+-+-+ | | | | | + +-+ + + | | | | +-+-+ + + | | | | + +-+-+ + | | +-+-+-+-+
--- Showing first 30 lines (click "Copy" to get full content) ---
Input
4 4 1111 2331 2431 2221
--- Showing first 30 lines (click "Copy" to get full content) ---
Output
+-+-+-+-+ | | +-+-+-+ + | | | | + +-+ + + | | | | | + +-+-+ + | | | +-+-+-+-+
--- Showing first 30 lines (click "Copy" to get full content) ---
Input
4 4 1122 1223 1234 1234
--- Showing first 30 lines (click "Copy" to get full content) ---
Output
+-+-+-+-+ | | | + +-+ +-+ | | | | + + +-+-+ | | | | | + + + + + | | | | | +-+-+-+-+
--- Showing first 30 lines (click "Copy" to get full content) ---