Родные просторы

아직 제출이 없습니다시간 제한1초메모리 제한1024 MB

문제

Вы играете на смартфоне в игру <<Родные просторы>>, в которой управляющий Остап помогает помещику восстановить отцовский дом. Игра происходит следующим образом. 

Дана последовательность из nn кристаллов, расположенных в один ряд слева направо. Каждый кристалл относится к одному из kk видов, обозначенных первыми kk английскими буквами. Таким образом, последовательность кристаллов записывается строкой английских букв.

За один ход игры можно удалить из последовательности один кристалл. Цель игрока --- получить в результате применения разрешенных видов удалений лексикографически минимально возможную строку.

Разрешённые виды удаления кристаллов заданы таблицей AA размера k×kk\times k из нулей и единиц. Если A_ij=1A\_{ij}=1, то разрешается удалить кристалл вида jj, если непосредственно слева от него находится кристалл вида ii. Данные действия можно выполнять в любом порядке.

Напомним, что строка xx лексикографически меньше строки yy, если выполнено одно из двух условий:

  • существует такая позиция символа mm, присутствующая в обеих строках, что до mm-го символа строки совпадают, а mm-й символ строки xx меньше mm-го символа yy,
  • строка xx является строгим префиксом yy (то есть получается отбрасыванием одного или больше символов с конца строки yy).

입력

В первой строке даны два целых числа kk и nn (1k261 \le k \le 26, 1n500,0001 \le n \le 500\\,000) --- количество видов кристаллов и длина исходной последовательности кристаллов.

В следующих kk строках задана таблица AA, ii-я строка содержит ровно kk символов 00 или 11. Символ в ii-й строке на jj-й позиции равен A_ijA\_{ij}.

В последней строке записаны nn строчных английских букв, задающие исходную последовательность кристаллов. Гарантируется, что в строке встречаются только первые kk букв английского алфавита, ii-я по счёту буква английского алфавита обозначает ii-й вид кристаллов.

출력

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

제한

  • n500,000n \le 500\\,000
  • k26k \le 26

힌트

В примерах из условия разрешены следующие виды удалений (удаляемый символ зачёркнут, символ непосредственно перед ним подчёркнут): abbc, ca.

Возможная последовательность удалений в первом примере:

  • abacaba
  • abacaba
  • abacaa
  • abacaa
  • abaca
  • abaca
  • abac
  • abac
  • aac

Возможная последовательность удалений во втором примере:

  • bcacb
  • bcacb
  • bacb