B. DZY любит строки
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

DZY коллекционирует строки, состоящие только из строчных английских букв. Для каждой строчной буквы c DZY определил значение wc. Для каждой строки s = s1s2... s|s| (|s| — длина строки) ее значение определяется функцией f(s), где

У DZY есть строка s. Он хочет вставить k строчных букв в эту строку так, чтобы значение получившейся строки было как можно больше. Какое максимальное значение он сможет получить?

Входные данные

В первой строке записана единственная строка s (1 ≤ |s| ≤ 103).

Во второй строке записано единственное целое число k (0 ≤ k ≤ 103).

В третьей строке записано двадцать шесть целых чисел от wa до wz. Каждое из этих чисел неотрицательное и не превосходит 1000.

Выходные данные

Выведите единственное целое число — максимальное значение строки, которое DZY сможет получить.

Примеры
Входные данные
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
Выходные данные
41
Примечание

В тестовом примере можно получить строку «abcbbc», тогда значение равно 1·1 + 2·2 + 3·2 + 4·2 + 5·2 + 6·2 = 41.