Задачи
Потенциал строки
Потенциал строки
Задана строка \textbf{s}, состоящая из \textbf{k} первых маленьких букв латинского алфавита. Как и в \href{/problems/2158}{предыдущей задаче}, расстоянием между двумя символами этой строки \textbf{s_i}, \textbf{s_j} будем считать разницу между их позициями, то есть \textbf{|j−i|}. Определим потенциал этой строки следующим образом. Пусть известна функция \textbf{f(c_1,c_2)}, которая каждой паре букв ставит в соответствие некоторый вес. Эта функция является симметричной относительно своих аргументов, то есть \textbf{f(c_1,c_2) = f(c_2,c_1)}. Потенциалом между парой символов \textbf{s_i} и \textbf{s_j} строки \textbf{s} назовем произведение их весовой функции на расстояние между ними. Потенциал строки будет тогда вычисляться как суммарный потенциал между всеми парами символов.
Напишите программу, определяющую потенциал заданной строки \textbf{s}.
\InputFile
В первой строке входного файла записано целое число \textbf{k} (\textbf{1} ≤ \textbf{k} ≤ \textbf{26}), количество первых букв латинского алфавита, которые могут быть в строке. Во второй строке задается строка \textbf{s}. Ее длина не превышает \textbf{10^6}. В последующих \textbf{k} строках задается весовая функция, \textbf{i}-ая из них содержит \textbf{i} чисел, \textbf{j}-ое из которых означает величину веса для \textbf{i}-ой и \textbf{j}-ой в порядке алфавита латинской буквы. Все веса не превосходят \textbf{10^6} по абсолютной величине.
\OutputFile
В выходной файл необходимо вывести одно число -- потенциал строки \textbf{s}.
Входные данные #1
3 abcacba 1 0 1 1 0 1
Выходные данные #1
32