Description
有两个非空字符串,分别记为a, b,其中a的长度为n,b的程度为m,并保证b是a的子序列。
现在Bob会按照一定顺序,每次抹掉a中的一个字符,重复n次这样的操作,直至空串。Alice希望在某次Bob的操作后阻止它,改由Alice按自己的想法来删除字符,并最终得到串b。显然,如果阻止得太晚,Alice可能就没法得到b了。所以她希望找到一个尽可能晚的时机来阻止Bob,同时又能达到自己的目标。
具体来说,找到一个最大的k,使得Bob进行第k次操作后,可以再进行若干次(可以是0次)删除操作,最终得到串b.
如果Alice必须在Bob进行第一次操作之前就阻止他,则k=0.
Input
第一行是字符串a
第二行是字符串b
第三行是一个长度为n的数列,其中每个数都在1到n之间,并且没有重复出现的数。这表示Bob依次删除的字符在初始的串a中的下标。下标从1开始。
ababcba
abb
5 3 4 1 7 6 2
HINT
## 名词解释
子序列:如果串s可以去掉一些字符后得到串t,则称t是s的子序列。在本题中,b是a的子序列保证了Alice在时刻0出手一定是可行的。
## 数据范围
对于40%的数据,满足1 <= m <= n <= 2000
对于100%的数据,满足1 <= m <= n <= 200000,字符串中仅包含小写英文字母