E. Даша и циклическая таблица
ограничение по времени на тест
6 секунд
ограничение по памяти на тест
512 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Даша увлекается всякими сложными головоломками — кубик Рубика 3 × 3 × 3, 4 × 4 × 4, 5 × 5 × 5 и тому подобное. На этот раз у неё есть циклическая таблица размера n × m клеток из строчных букв латинского алфавита. Каждая клетка таблицы имеет координаты (i, j) (0 ≤ i < n, 0 ≤ j < m). Цикличность этой таблицы заключается в том, что правее клетки (i, j) находится клетка , а ниже находится клетка .

Также у Даши есть шаблон. Шаблоном является нециклическая таблица размера r × c клеток. Каждая клетка шаблона является либо строчной буквой латинского алфавита либо символом вопроса. Каждая клетка шаблона имеет координаты (i, j) (0 ≤ i < r, 0 ≤ j < c).

Задачей головоломки является определение всех позиций вхождения шаблона в циклическую таблицу.

Определим позицию вхождения шаблона в циклическую таблицу. Позиция (i, j) циклической таблицы является позицией вхождения, если для каждого (x, y), что 0 ≤ x < r и 0 ≤ y < c, выполняется одно из двух условий:

  • Клетка шаблона с координатами (x, y) является символом вопроса.
  • Клетка циклической таблицы с координатами равняется клетке шаблона с координатами (x, y).

Даша прекрасно справилась с решением этой головоломки, впрочем как и со всеми остальными головоломками. Посмотрим, сможете ли вы это сделать.

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

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

В каждой из следующих n строк входных данных находится строка из m строчных букв латинского алфавита — описание циклической таблицы.

В следующей строке входных данных записаны два целых числа r, c (1 ≤ r, c ≤ 400) — размеры шаблона.

В каждой из следующих r строк входных данных находится строка из c строчных букв латинского алфавита и/или символов '?' — описание шаблона.

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

Выведите n строк. Каждая из этих n строк должна содержать по m символов. Каждый из этих символов должен быть равен '0' или '1'.

На позиции j строки i (0-индексация) выходных данных должен находиться символ '1', если позиция (i, j) является позицией вхождения, иначе символ '0'.

Примеры
Входные данные
5 7
qcezchs
hhedywq
wikywqy
qckrqzt
bqexcxz
3 2
??
yw
?q
Выходные данные
0000100
0001001
0000000
0000000
0000000
Входные данные
10 10
fwtoayylhw
yyaryyjawr
ywrdzwhscy
hnsyyxiphn
bnjwzyyjvo
kkjgseenwn
gvmiflpcsy
lxvkwrobwu
wyybbcocyy
yysijsvqry
2 2
??
yy
Выходные данные
1000100000
0000000001
0001000000
0000010000
0000000000
0000000000
0000000000
0100000010
1000000001
0000010000
Входные данные
8 6
ibrgxl
xqdcsg
okbcgi
tvpetc
xgxxig
igghzo
lmlaza
gpswzv
1 4
gx??
Выходные данные
000100
000001
000000
000000
010001
000000
000000
000000