Sea Battle

notion image
Eres uno de los desarrolladores del juego Sea Battle. Ahora eres responsable de actualizar una de las estadísticas más importantes del juego: dada una tabla, debes identificar cuántos barcos están healthy, dead y wounded. Sabes que:
  • Ningún barco comparte un lado. Por lo tanto, si dos celdas vecinas en la cuadrícula están marcadas como parte de un barco, entonces forman el mismo barco.
  • En este juego, los barcos no siempre forman una línea recta. Esta es una modalidad avanzada disponible para usuarios premium.
  • Si no se lanzó ninguna bomba sobre un barco, entonces el barco está healthy.
  • Si todas las celdas de un barco fueron bombardeadas, entonces el barco está dead.
  • Si solo algunas celdas quedaron bombardeadas, el barco se considera wounded.
Debes escribir un programa que, dada la cuadrícula con la situación actual, imprima la cantidad de barcos healthy, dead y wounded.

Entrada

La primera línea de la entrada contiene dos caracteres r y c (1 ≤ r, c ≤ 50), que indican el número de filas y columnas de la cuadrícula.
Las siguientes r filas contienen c columnas de caracteres que representan la cuadrícula:
  • . representa agua (ningún barco)
  • s representa una celda de un barco intacto
  • b representa una celda de un barco bombardeado

Salida

El programa debe imprimir 3 números: el número de barcos healthy, dead y wounded.

Ejemplos

Input

7 8
..s.bb.s
s.......
s.sssss.
b.s...s.
..sssbs.
s.......
ss......
Output

3 1 2
 

Constraints

Time limit: 2 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue