Batalha Naval

screen-22.webp

Você é um(a) dos(as) desenvolvedores(as) do jogo Sea Battle. Agora, sua responsabilidade é atualizar uma das estatísticas mais importantes do jogo: dada uma grelha, é preciso determinar quantos navios estão healthy (intactos), dead (destruídos) e wounded (danificados). Sabe-se que:

  • Nenhum navio partilha um lado. Portanto, se duas células vizinhas na grelha estão marcadas como parte de um navio, então fazem parte do mesmo navio.

  • Neste jogo, os navios não precisam estar em linha reta. É um modo avançado do jogo disponível para utilizadores premium.

  • Se nenhum bombardeamento atingiu o navio, ele está healthy.

  • Se todas as células do navio forem bombardeadas, ele está dead.

  • Se apenas algumas células foram bombardeadas, o navio é considerado wounded.

Deverá escrever um programa que, dada a grelha com a situação atual, imprima quantos navios estão healthy, dead e wounded.

Entrada

A primeira linha da entrada contém dois caracteres r e c (1 ≤ r, c ≤ 50) - o número de linhas e colunas da grelha.

Nas próximas r linhas, há c colunas de caracteres que representam a grelha:

  • . representa água (sem navio)

  • s representa uma célula de navio intacto

  • b representa uma célula de navio bombardeada

Saída

O programa deve imprimir 3 números: a quantidade de navios healthy, dead e wounded.

Exemplos

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