Олимпиадный тренинг

Задача . A. Важный экзамен


Группа студентов написала экзамен в виде теста.

Всего в группе было \(n\) студентов, а тест состоял из \(m\) вопросов, каждый из которых имел \(5\) вариантов ответа (A, B, C, D или Е). На каждый вопрос есть ровно один правильный ответ. Правильный ответ на \(i\)-й вопрос даёт \(a_i\) баллов. Неправильные ответы оцениваются нулём баллов.

Студенты помнят, какие ответы они дали на экзамене, но не знают, какие ответы являются правильными. Они настроены достаточно оптимистично, а потому интересуются насколько большим может быть суммарный балл всех студентов группы.

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

Первая строка содержит целые числа \(n\) и \(m\) (\(1 \le n, m \le 1000\)) — количество студентов в группе и количество вопросов в тесте.

Каждая из следующих \(n\) строк содержит строку \(s_i\) (\(|s_i| = m\)), задающую ответы, которые дал \(i\)-й студент: \(j\)-й символ этой строки (A, B, C, D или E) обозначает ответ студента на \(j\)-й вопрос.

Последняя строка содержит \(m\) целых чисел \(a_1, a_2, \ldots, a_m\) (\(1 \le a_i \le 1000\)) — количество баллов за правильный ответ для каждого вопроса.

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

Выведите одно целое число — максимальный суммарный балл группы.

Примечание

В первом примере один из наиболее благоприятных правильных ответов это «ABCD», тогда суммарный балл будет равен \(16\).

Во втором примере одним из оптимальных для студентов правильных ответов является «CCC». Тогда на каждый вопрос ответит ровно один студент и суммарный балл будет равен \(5 + 4 + 12 = 21\).


Примеры
Входные данныеВыходные данные
1 2 4
ABCD
ABCE
1 2 3 4
16
2 3 3
ABC
BCD
CDE
5 4 12
21

time 1000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя