Задачі
Потенціал рядка
Потенціал рядка
Задано рядок \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