Сереже очень захотелось сделать что-нибудь безумное. Например, сделать так, что бы на стене дома напротив высветилось какое-нибудь хорошее слово.
Он нарисовал на клетчатом листочке размером $a \times b$ карту того, в каких окна должен гореть свет, а в каких нет. Сережа будет считать, что на доме написано слово, если внутри некоторого прямоугольника картина включенных и выключенных окон будет совпадать с этим рисунком, при этом не важно горит свет или нет в остальных окнах.
Для этого ему необходимо в некоторых окнах свет включить, а в некоторых выключить. Однако, чтобы включить или выключить свет в окне, Сереже надо договориться с хозяином квартиры. После этого он сможет произвольным образом включать и выключать свет в любых окнах этой квартиры.
У него есть план дома, и он знает какой квартире принадлежит какое окно. Ему удалось выяснить, что каждой квартире принадлежит несколько соседних окон на одном этаже.
С каким минимальным количеством хозяев надо договориться?
В первой строке входного файла два целых числа $n$ и $m$ ($1 \le n,m \le 50$).
Далее следуют $n$ строк по $m$ чисел в каждой --- какой квартире принадлежит соответствующее окно. В $i + 1$-ой строке входного файла на $j$-ой позиции стоит номер квартиры, которой принадлежит $j$-ое слева окно на $n - i + 2$-ом этаже дома. Номера квартир --- целые положительные числа, не превосходящие 5000.
Потом следуют $n$ строк по $m$ символов в каждой --- <<#>> означает, что свет в соответствующем окне горит, а <<.>>, что нет.
В следующей строке находятся два целых числа $a$ и $b$ ($1 \le a \le n, 1 \le b \le m$). Затем следуют $a$ строк по $b$ символов в каждой --- <<#>> означает, что соответствующее окно должно светиться в Сережином слове, а <<.>>, что не должно.
В выходной файл выведите единственное число --- минимальное число квартир, с хозяевами которых должен договориться Сережа.