Copiado al portapapeles
Descripción
Despues de haber pasado sus clases virtuales, Ivan decidió recordar la infancia cuando las computadoras no eran demasiado potentes y mucha gente jugaba solo a juegos predeterminados. Ivan disfrutó jugando al Buscaminas esa vez. Se imaginó que salvó al mundo de las bombas colocadas por terroristas, pero rara vez ganaba.
Ivan ha crecido desde entonces, por lo que gana fácilmente los niveles más difíciles. Esto lo aburrió rápidamente y pensó: ¿y si la computadora le diera campos inválidos en la infancia e Ivan no pudiera ganar por eso?
Necesita tu ayuda para comprobarlo.
Un campo Buscaminas es un rectángulo $n × m$, donde cada celda está vacía($.$) o contiene un dígito del $1$ al $8$, o una bomba($*$). El campo es válido si para cada celda:
- Si hay un dígito $k$ en la celda, entonces exactamente k celdas vecinas tienen bombas.
- Si la celda está vacía, todas las celdas vecinas no tienen bombas.
Dos celdas son vecinas si tienen un lado común o una esquina (es decir, una celda tiene como máximo $8$ celdas vecinas).
Entrada
La primera línea contiene dos números enteros $n$ y $m$ ($1 \leq n, m \leq 100$): los tamaños del campo.
Las siguientes $n$ líneas contienen la descripción del campo. Cada línea contiene $m$ caracteres, cada uno de ellos es "$.$" (si esta celda está vacía), "$*$" (si hay bomba en esta celda), o un dígito del $1$ al $8$, inclusive.
Salida
Imprima "YES", si el campo es válido y "NO" en caso contrario.(Sin comillas)
Ayuda
Ejemplo de entrada 2:
2 4
*.*.
1211
Ejemplo de salida 2:
NO