eolymp
bolt
Try our new interface for solving problems
Problems

Мінне поле

Мінне поле

Мінне поле представлене у вигляді клітинок. Клітинки, що містять міни, позначені числом 1, порожні клітинки – числом 0.

Розмінувальник складає карту мінного поля. Для цього усі клітинки мінного поля він спочатку позначає крапками. Відомо координати клітинки, у якій знаходиться розмінувальник. Дана клітинка позначається числом, яке означає кількість мін, що оточують дану клітинку (по горизонталі, вертикалі та діагоналі).

Якщо поруч з даною клітинкою немає мін, то:

  • вона отримує число $0$, і, за аналогією, для навколишніх клітинок (по вертикалі, горизонталі та діагоналі) записуються числа, що означають кількість мін, які знаходяться у сусідніх клітинках;

  • розмінувальник переміщується по черзі у кожну сусідню клітинку, навколо якої немає мін і процес повторюється.

Визначте, який вигляд матиме карта мінного поля, яку побудує розмінувальник.

Вхідні дані:

Перший рядок містить два цілих числа $N$ та $M$ ($1$$N$, $M$$1000$) – висоту та ширину мінного поля. У наступних $N$ рядках містить по $M$ чисел $1$ або $0$ ($1$ – у відповідній клітинці розташована міна, $0$ – клітинка порожня).

У наступному рядку записано два числа $A$ та $B$, які вказують на номер рядка та номер стовпчика, де розташована клітинка, у яку виконується перший крок.

Вихідні дані:

Карту, яку складе розмінувальник, знаходячись у клітинці з координатами $А$, $В$, або $-1$, якщо розмінувальник одразу знаходяться у клітинці з міною.

Time limit 1 second
Memory limit 256 MiB
Input example #1
4 4
1 0 0 0
0 0 0 0
1 0 1 0
0 0 0 0
1 4
Output example #1
. 1 0 0
. 3 1 1
. . . .
. . . .
Input example #2
5 5
1 0 0 1 0
1 0 0 0 1
0 0 1 1 0
0 0 0 0 1
0 0 0 0 0
3 3
Output example #2
-1