D. Килани и игра
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Килани играет в игру со своими друзьями. Игра представляет из себя клетчатое поле размером $$$n \times m$$$, где каждая клетка или пуста, или заблокирована, также у каждого игрока есть один или несколько замков на поле (ни одна клетка не содержит более одного замка).

Игра происходит в несколько раундов. В каждом раунде игроки по очереди расширяются: сначала расширяется первый игрок, затем расширяется второй игрок, и так далее. Расширение происходит следующим образом: для каждого замка, которым владеет игрок, он пытается расшириться в свободные клетки поблизости. Игрок $$$i$$$ может расшириться из клетки со своим замком в пустую клетку, если она достижима за не более чем $$$s_i$$$ (где $$$s_i$$$ — это показатель скорости игрока) движений влево, вверх, вправо или вниз, не проходящих через заблокированные клетки или клетки с замками других игроков. Игрок рассматривает множество клеток, в которые он может расшириться, и моментально строит во всех них свой замок. После этого ход переходит к следующему игроку.

Игра заканчивается, когда ни один игрок не может сделать ход. Вам дано поле игры и скорости расширения для каждого игрока. Килани хочет узнать для каждого игрока как много клеток он будет контролировать (иметь там замок) после того как игра закончится.

Входные данные

Первая строка содержит три целых числа $$$n$$$, $$$m$$$ и $$$p$$$ ($$$1 \le n, m \le 1000$$$, $$$1 \le p \le 9$$$) — размеры поля и количество игроков.

Вторая строка содержит $$$p$$$ целых чисел $$$s_i$$$ ($$$1 \le s \le 10^9$$$) — скорости расширения для каждого игрока.

Следующие $$$n$$$ строк задают игровое поле. Каждая из них состоит из $$$m$$$ символов, где «.» обозначает пустую клетку, «#» обозначает заблокированную клетку, а цифра $$$x$$$ ($$$1 \le x \le p$$$) обозначает замок, принадлежащий игроку $$$x$$$.

Гарантируется, что у каждого игрока есть хотя бы один замок на поле.

Выходные данные

Выведите $$$p$$$ целых чисел — количество клеток, контролируемых каждым игроком после конца игры.

Примеры
Входные данные
3 3 2
1 1
1..
...
..2
Выходные данные
6 3 
Входные данные
3 4 4
1 1 1 1
....
#...
1234
Выходные данные
1 4 3 3 
Примечание

Картинка ниже показывает состояние игры до начала, после первого раунда и после второго раунда в первом примере.

Во втором примере первый игрок «заблокирован», так что он ничего не сможет захватит в течении всей игры. Все остальные игроки будут расширяться наверх в течении первых двух раундов, а на третьем раунде только второй игрок расширится влево.