#1421. 撰写博客

撰写博客

撰写博客

题目描述

小明发了一篇博客,由nn个小写英文字母组成。

但是写完这篇博客之后,小明发现博客由于包含一些词语,被自动隐藏了。

具体地,这些词语有mm个,分别为T1T_{1},T2T_{2},\dots,TmT_{m}

小明发现,只要包含了其中某个词语,博客就会被自动隐藏。换言之,对于任意1im1 \leq i \leq mTiT_{i}都不能是最终发表的博客SS的子串。

于是小明决定在原来的博客SS上把一部分字母替换成空格,使得它不再包含任何词语。

小明发现如果她把第ii个字母替换成空格,那么整篇博客的价值会减少aia_{i}

小明想要知道,如何替换可以得到一篇不会被自动隐藏的博客,而价值的减少量最少。

值得一提的是,如果小明把一个字母替换成空格,那么与之相邻的两个字母也不会变得连续。

但是小明请你帮他求出价值的最少减少量。

输入格式

第一行两个正整数nnmm,表示小明初始的博客长度以及词语个数。

第二行一个长度为nn的,仅由小写字母组成的字符串SS,表示小明初始的博客。

第三行nn个空格隔开的整数a1a_{1},a2a_{2},\dots,ana_{n},其中第ii个数aia_{i}表示把第ii个字母改成空格导致的整篇博客价值减少量。

接下来mm行,每行一个仅由小写字母组成的字符串TiT_{i},表示一个词语。

输出格式

输出一行一个整数表示整篇博客价值减少量的最小值。

数据范围与提示

对于所有测试数据,1n=S2×1051 \leq n=|S| \leq 2 \times 10^{5}1<m<101 < m < 101Ti2×1051 \leq |T_{i}| \leq 2 \times 10^{5}0ai10000 \leq a_{i} \leq 1000

  • 子任务1 (20分):S,Ti100|S|,|T_i| \leq 100;
  • 子任务2 (30分):S,Ti2000|S|,|T_i| \leq 2000;
  • 子任务3 (20分):S,Ti5000|S|,|T_i| \leq 5000;
  • 子任务4 (30分):无特殊限制。

样例

5 3
abcde
3 1 3 1 3
abc
bcd
cde
2