Один малоизвестный хакер захотел заполучить пароль администратора от тестирующей системы AtForces, чтобы узнать задачи с предстоящего контеста. Чтобы достичь этого, он пробрался в кабинет администратора и украл листочек, на котором записан список из \(n\) паролей — строк, состоящих из строчных букв латинского алфавита.
Хакер вернулся домой и начал готовиться ко взлому. Он обнаружил, что в системе содержатся только пароли с украденного листочка, и что система определяет эквивалентность паролей \(a\) и \(b\) следующим образом:
- два пароля \(a\) и \(b\) эквивалентны, если существует символ, который есть и в \(a\), и в \(b\);
- два пароля \(a\) и \(b\) эквивалентны, если существует другой пароль \(c\) из списка, которому эквивалентны одновременно и \(a\), и \(b\).
Если в системе установлен некоторый пароль, а применяется ему эквивалентный, то пользователь получает доступ к системе.
К примеру, если в списке содержатся пароли «a», «b», «ab», «d», то с точки зрения системы пароли «a», «b», «ab» эквивалентны друг другу, а пароль «d» никакому другому не эквивалентен. Иначе говоря, если:
- установленный пароль равен, например, «b», то можно зайти в систему под любым из трёх паролей: «a», «b», «ab»;
- установленный пароль равен «d», то можно зайти в систему только под паролем «d».
Известно, что ровно один пароль из списка является паролем администратора от тестирующей системы. Помогите хакеру понять, какое минимальное количество паролей понадобится использовать при взломе, чтобы гарантированно получить доступ к системе. Имейте в виду, что хакер не знает, какой именно пароль установлен в системе.