EduBrick

G. Сколько букв придётся назвать

3000 мс · 256 МБ · всё или ничего

Правила зачёта те же, что в классе: студент называет буквы, преподаватель показывает все их позиции, и зачёт провален, если названной буквы в слове нет.

Теперь спрашивается не «да или нет», а сколько букв придётся назвать в худшем случае, если студент действует наилучшим образом. Зачёт считается сданным, как только студент понял, какое слово загадано.

Если гарантированно сдать нельзя, выведите −1-1. Если слово в списке одно, называть ничего не нужно — ответ 0.

Формат ввода

Первая строка содержит числа mm и nn (1≤m≤1031 \le m \le 10^3, 1≤n≤1031 \le n \le 10^3).

Далее идут nn различных слов длины ровно mm из строчных латинских букв. Суммарная длина слов не превосходит 10510^5.

Формат вывода

Одно число — наименьшее число букв в худшем случае, или −1-1.

Примеры

ввод
5 2
hello
world
вывод
1
ввод
4 2
game
name
вывод
-1
Войдите, чтобы отправлять решения.