字符删除
题号:NC223144
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

给出一个有  个字母的字符串,字符串中的每个字母都是字母表中的前  个小写字母。

每次可以从字符串中删除一个字符,但是这个删除不是随意删除,需要遵循下面的原则:

给出一个  的  矩阵 ,若矩阵中  元素为 ,表示若字符串中的第  个字母右边是第  个字母,可以删除第  个字母。
这里的第  个指的是字母在字母表中的顺序,不是在字符串中的第  个。

例如对于  矩阵为  为 ,就代表若  右边是 ,则可以将  删去。

现在问你,通过删除操作可以从原字符串中得到的字典序最小的字符串是什么?

输入描述:

第一行给出两个正整数 

接下来给出一个  的  矩阵

最后一行给出一个长度为  且只包含前  个小写字母的字符串

输出描述:

输出通过删除操作可以获得的字典序最小的字符串
示例1

输入

复制
3 7
010
001
100
abacaba

输出

复制
aac

说明