175. Уникальные пользователи

Не решаласьСредняя

Пользователи заходят в приложение, вводя свой почтовый адрес. Мы получили логи с нескольких приложений и хотим посчитать количество уникальных пользователей, заходивших в них.

Почтовые адреса состоят из маленьких латинских букв, точек (.), дефисов (-) и одной «собаки» (@). Часть до «собаки» назовем логином, после «собаки» - доменом.

Пользователь может добавлять сколько угодно точек в свой логин, они игнорируются, вход при этом все равно будет успешным. Также пользователь может добавить дефис в свой логин, тогда часть логина после дефиса и сам дефис игнорируются. Например stalker@yandex.ru и s.t.a.l.k.e.r.@yandex.ru считаются одним пользователем, super-user@yandex.ru и sup.er@yandex.ru тоже считаются одним пользователем.

Эти правила не применяются к домену. Два пользователя с одинаковым логином, но разными доменами считаются разными. Назовем окончанием домена подстроку после последней точки. Тогда два домена, отличающиеся только окончаниями, считаются одинаковыми. Например super@mail.yandex.ru и super@mail.yandex.com - один пользователь, super@yandex.com и super@yandex.co.uk - разные пользователи.

При решении на языке Dart используйте ввод и вывод через файлы, стандартный поток ввода работает слишком медленно.

Формат ввода

В первой строке входных данных находится одно число $N$ - количество почтовых адресов в логах.

В последующих $N$ строках находится $N$ почтовых адресов $M_i$, по одному адресу в каждой строке.

Гарантируется, что каждый адрес содержит символ @, а каждый домен содержит хотя бы точку. Логин может быть пустым.

Ограничения

$0\ \text{\textless}\ N\ \text{\textless}\ 10^5\newline$ $4 \le M_i.length\ \text{\textless}\ 50\ \newline$

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

Выведите одно число - количество уникальных пользователей.

Ограничения

Ограничение времени

2 с

Ограничение памяти

254,73 МБ

Пример 1

Ввод
2
s.t.a.l.k.e.r.@yandex.ru
stalker-winner@yandex.com
Вывод
1

Пример 2

Ввод
2
user@yandex.ru
user@ya.ru
Вывод
2

Пример 3

Ввод
4
s.t.a.l.k.e.r.@yandex.ru
stalker-winner@yandex.com
user@yandex.ru
user@mail.yandex.ru
Вывод
3

Теги

Нужно войти, чтобы отправить решение.Войти