У вас в распоряжении табло размера n на m пикселей. Каждый пиксель может быть либо включён, либо выключен. Табло будет использоваться для отображения стрелок, указывающих направление движения. Всего есть четыре направления: вверх, вниз, влево и вправо.
Рассмотрим как устроена стрелка, указывающая вверх: вертикальный отрезок высотой в b пикселей, из которого сверху вниз под углом в 45 градусов, выходят два отрезка из a пикселей. Стрелки для остальных направлений можно получить поворотами на 90 градусов.
Например, так выглядят стрелки для всех направлений с параметрами a = 3 и b = 7
| вверх | вниз | влево | вправо |
| ...*... | ...*... | ....... | ....... |
| ..***.. | ...*... | ..*.... | ....*.. |
| .*.*.*. | ...*... | .*..... | .....*. |
| ...*... | ...*... | ******* | ******* |
| ...*... | .*.*.*. | .*..... | .....*. |
| ...*... | ..***.. | ..*.... | ....*.. |
| ...*... | ...*... | ....... | ....... |
При этом, параметры стрелки должны обладать следующими ограничениями:
— 2a ≤ b;
— 2 ≤ a.
К сожалению, в табло, которое вам досталось, присутствуют битые пиксели, которые нельзя включать.
Для каждого направления вам нужно посчитать количество различных стрелок, которые можно отобразить на данном табло. Две стрелки с параметрами (a1, b1) и (a2, b2) считаются одинаковыми, если a1 = a2 и b1 = b2.
Первая строка содержит целые числа n и m — размеры табло (1 ≤ n, m ≤ 1 500).
Следующие n строк содержат по m символов: «.» означает битый пиксель, а «*» рабочий.
Выведите четыре числа — количество различных стрелочек, которые возможно отобразить на данном табло для верхнего, нижнего, левого и правого направлений соответственно.
5 7
...*...
.***.*.
*******
.*****.
...*...
1
2
5
4
6 6
***.**
*.**.*
****.*
******
**.***
.***.*
1
1
4
2
5 5
..*..
.***.
*.*.*
..*..
..*..
2
0
0
0
4 4
****
****
****
****
1
1
1
1