Задача №114100. Произведение строк

Рома и Денис отправились на соревнование по программированию. В долгой дороге ребята вспоминали операции над строками. Денис сказал, что в Python строки можно умножать на число, тогда Рома, программирующий на С++, решил придумать операцию перемножения строк. По версии Ромы, умножение строки \(s\) длины \(n\) на строку t обозначается как \(s \cdot t\) и равно строке \(t + s_1 + t + s_2 + \ldots + t + s_n + t\), где \(s_i\) обозначает \(i\)-й символ строки \(s\), а знаком « + » обозначено сложение (конкатенация) строк. Например, произведением строк « abc » и « de » является строка « deadebdecde », а произведением строк « z » и « ab » является строка « abzab ». Обратите внимание, что, в отличие от умножения чисел, произведение строк \(s\) и \(t\), вообще говоря, не равно произведению строк \(t\) и \(s\).

Денис решил продолжить мысль Ромы — он, как ценитель прекрасного, решил определить красоту строки как максимальную длину подряд идущей группы одинаковых букв. Например, красота строки « xayyaaabca » равна \(3\), так как самая длинная группа подряд идущих одинаковых букв — это « aaa », а красота строки « qwerqwer » равна \(1\), потому что все соседние буквы в ней различны.

Чтобы развлечь Дениса, Рома написал ему на листочке \(n\) строк \(p_1, p_2, p_3, \ldots, p_n\) и попросил его вычислить красоту строки \(( \ldots ((p_1 \cdot p_2) \cdot p_3) \cdot \ldots ) \cdot p_n\). Денис не до конца понял, как работает умножение Ромы, но не хочет признаваться в этом, поэтому просит посчитать красоту этой строки вас. Рома знает, что Денис слишком впечатлительный, поэтому гарантирует, что красота полученной строки не превосходит \(10^9\).

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

В первой строке содержится число \(n\) (\(1 \leq n \leq 100\,000\)) — количество строк, которые написал Рома.

В следующих \(n\) строках содержатся непустые строки \(p_1, p_2, \ldots, p_n\), состоящие из маленьких букв английского алфавита.

Гарантируется, что суммарная длина строк не превосходит \(100\,000\), а также, что красота произведения всех строк не превосходит \(10^9\).

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

Выведите одно целое число — красоту произведения строк.

Примечание

В первом примере произведение трёх строк равно « abaaaba ».

Во втором примере произведение двух строк равно « abanana ».

Система оценки

В данной задаче \(50\) тестов, помимо тестов из условия, каждый из них оценивается в \(2\) балла. Результаты работы ваших решений на первых \(30\) тестах будут доступны во время соревнования. Результаты работы на остальных \(20\) будут доступны после окончания соревнования.

Обозначим за \(L\) длину произведения всех строк.

Решения, корректно работающие при \(1 \leq n \leq 7\), \(1 \leq L \leq 100\) наберут не менее \(20\) баллов.

Решения, корректно работающие при \(1 \leq n \leq 15\), \(1 \leq L \leq 100\,000\), наберут не менее \(40\) баллов.

Решения, корректно работающие при \(n = 2\), наберут не менее \(20\) баллов.

Примеры
Входные данные
3
a
b
a
Выходные данные
3
Входные данные
2
bnn
a
Выходные данные
1
Сдать: для сдачи задач необходимо войти в систему