UiB Warmup 3 (Fall 2017)

Start

2017-09-13 16:15 CEST

UiB Warmup 3 (Fall 2017)

End

2017-09-13 19:00 CEST
The end is near!
Contest is over.
Not yet started.
Contest is starting in -72 days 15:28:07

Time elapsed

2:45:00

Time remaining

0:00:00

Problem C
Cudoviste

Mirko got his drivers license! To celebrate that joyous occasion, his parents bought him his first car: a monster truck! Mirko found out that even though having a car that can squash all other cars is nice in traffic jams, parking a car that is the size of $4$ normal cars can be a bit tricky.

His friend, Slavko, works part time in the city parking company. He periodically sends Mirko a map of the city with occupied parking spaces marked. The map can be represented as a table with $R$ rows, $C$ columns each. Each cell can contain a building (symbol ‘#’), a parked car (symbol ‘X’) or a free parking space (symbol ‘.’). A monster truck is quite huge, $2$ by $2$ cells to be exact.

Help Mirko calculate the number of possible parking space grouped by the number of cars he needs to squash to park in them. We are only interested in the number of cars Mirko will squash on the parking space, not the number of cars he will squash on the way over. However, Mirko can’t park on a building. Not even a monster truck is large enough to squash buildings!

Input

The first line of input contains two integers, $R$ and $C$ ($2 \leq R, C \leq 50$), the number of rows and columns of the map. The next $R$ lines contain $C$ characters each. Only characters ‘#’, ‘X’ and ‘.’ appear in the input. Note that ‘X’ will always be capital.

Output

The output consists of five lines, the total number of parking spaces Mirko can park on if he squashes $0$ cars (first line), $1$ car (second line), $2$ cars (third line), $3$ cars (fourth line), $4$ cars (fifth line).

Sample Input 1 Sample Output 1
4 4
#..#
..X.
..X.
#XX#
1
1
2
1
0
Sample Input 2 Sample Output 2
4 4
....
....
....
....
9
0
0
0
0
Sample Input 3 Sample Output 3
4 5
..XX.
.#XX.
..#..
.....
2
1
1
0
1