306024 - 增减字符改造回文串

给定一个由 n 个不同的小写字母构成的长 m 的字符串 s。可以通过在 s 的任意位置增减字母将 s 改为回文串。增减字母的花费不同,求最小花费。

Input

第一行是两个整数 n 和 m (1 ≤ m ≤ 2 × 103,1 ≤ n ≤ 26)。 第二行是一个字符串 s。 随后 n 行,每行一个字符 c 和两个整数 x, y (0 ≤ x, y ≤ 104),表示添加一个 c 的花费为 x,删除一个 c 的花费为 y。

Output

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

Examples

Input

 3 4
abcb
a 1000 1100
b 350 700
c 200 800

Output

900
时间限制 1 秒
内存限制 128 MB
统计
上一题 下一题