问题 5053 --特殊的函数

5053: 特殊的函数★★

时间限制: 1 Sec  内存限制: 128 MB
提交: 71  解决: 32
[提交][状态][命题人:]

题目描述

昕旸喜欢收集只包含小写字母的特殊字符串。对于每个小写字母c ,昕旸都知道它的值wc

对于每个特殊字符串s  =  ss2 ... s|s|s|是字符串的长度),他用特殊函数f (s)表示它的值:


                                                                            


现在昕旸有一个字符串s。他想在这个字符串中插入k个小写字母,以获得新的字符串对应的特殊函数f的最大可能值。

你能帮他计算出他能得到的最大可能值吗?

输入

第一行包含一个字符串s  (1 ≤ |s| ≤ 103 )

第二行包含一个整数k  (0 ≤k ≤103 )

第三行包含从az的 26 个整数。每个这样的数字都是非负数并且不超过1000

输出

打印一个整数—— 可以获得的最大可能值。
样例输入
Copy
abc
3
1 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
样例输出
Copy
41

提示

样例说明,插入3个字符后得到的新串为"abcbbc", 对应的值为 1·1 + 2·2 + 3·2 + 4·2 + 5·2 + 6·2 = 41.

来源

[提交][状态]