D. Занимательная Геодезия
ограничение по времени на тест
1 second
ограничение по памяти на тест
256 megabytes
ввод
stdin
вывод
stdout

Карты в игре разбиты на квадратные ячейки, которые называются гео-панелями. Некоторые из этих панелей окрашены. Будем считать, что гео-панели, которые не имеют цвета, покрашены в прозрачный цвет.

Еще на карте есть так называемые гео-символы. Они имеют вид цветных пирамидок (в том числе существуют гео-символы прозрачного цвета). Каждый гео-символ расположен на одной гео-панели, а на каждой гео-панели может находиться не более одного гео-символа.

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

В самом начале поместим в очередь только что уничтоженный гео-символ. Далее будем повторять следующую операцию:

Извлечем из начала очереди гео-символ. Посмотрим на цвет панели, на которой находился данный гео-символ. Если он отличен от прозрачного и отличен от цвета данного гео-символа, то происходит перекрашивание всех гео-панелей этого цвета в цвет данного гео-символ (в том числе, прозрачные гео-символы перекрашивают гео-панели в прозрачный цвет). Перекрашивание происходит по бесконечной спирали строго в следующем порядке, начиная от панели, на которой стоял гео-символ:

Другими словами, мы выбираем все панели, которые нужно перекрасить и находим их номера в бесконечной спирали, центр которой помещен в позицию данного гео-символа. После этого перекрашиваем их в порядке возрастания номеров.

Если в момент перекрашивания панели на ней находится еще один гео-символ, то он удаляется с карты и помещается в конец очереди.

После перекрашивания гео-символ уничтожается окончательно и из начала очереди извлекается следующий гео-символ (если он есть) и процесс повторяется. Процесс заканчивается если очередь оказалась пуста.

Чтобы лучше понять этот процесс — смотрите разбор примера.

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

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

В первой строке находятся два целых числа n и m (1 ≤ n, m ≤ 300) — высота и ширина карты (в клетках).

Далее идут n строк по m чисел в каждой — цвета гео-панелей.

После этого идут еще n строк по m чисел в каждой — описание гео-символов. -1 означает, что в данной позиции нет гео-символа, иначе число означает цвет гео-символа в данной позиции.

Все цвета — целые числа в диапазоне от 0 до 109. 0 обозначает прозрачный цвет.

В последней строке находятся два целых числа x и y (1 ≤ x ≤ n, 1 ≤ y ≤ m) — номер строки и номер столбца, где находится гео-символ, который уничтожается первым. Строки нумеруются начиная с единицы сверху вниз, столбцы нумеруются начиная с единицы слева направо. Гарантируется, что в позиции с координатами (x, y) находится гео-символ.

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

Выведите одно целое число — общее количество перекрашиваний после уничтожения гео-символа.

Пожалуйста, не используйте спецификатор %lld для чтения или записи 64-х битовых чисел на С++. Рекомендуется использовать поток cout (также вы можете использовать спецификатор %I64d).

Примеры
Входные данные
5 5
9 0 1 1 0
0 0 3 2 0
1 1 1 3 0
1 1 1 3 0
0 1 2 0 3
-1 1 -1 3 -1
-1 -1 -1 0 -1
-1 -1 -1 -1 -1
-1 2 3 -1 -1
-1 -1 -1 -1 2
4 2
Выходные данные
35
Примечание

Все действия, происходящие в примере можно видеть на следующей картинке:

Если ваш браузер не поддерживает APNG, и вы видите только статичную картинку, то вы можете посмотреть GIF версию этой картинки по следующей ссылке:

http://assets.codeforces.com/images/geo_slow.gif