#3965. 回文串

回文串

题目描述

给定一个长度为MM的字串SS,字符串SSNN个小写字母构成。现在想通过增加或删除字母将其变为回文串,增删特定字母花费不同,求最小花费。

输入格式

11行:两个以空格分隔的整数:NNMM  (1M2,000,1N261 ≤ M ≤ 2,000,1 ≤ N ≤ 26)

22行:包含一个长度为MM的字串SS

3..N+23..N + 2行:每行包含三个整数:一个字符和两个整数,两个整数分别是添加和删除该字符的花费。

输出格式

输出一个数表示最小花费。

样例

输入

3 4
abcb
a 1000 1100
b 350 700

输出

c 200 800

900

提示

样例解释:

如果在末尾插入“ aa”以获得“ abcbaabcba”,则成本为1000。如果在开始时删除“ aa”以获得“ bcbbcb”,则成本为1100。如果插入“ bcbbcb” 在字符串开始时,成本为350 + 200 + 350 = 900,这是最小值。