ENG  RUSTimus Online Judge
Online Judge
Задачи
Авторы
Соревнования
О системе
Часто задаваемые вопросы
Новости сайта
Форум
Ссылки
Архив задач
Отправить на проверку
Состояние проверки
Руководство
Регистрация
Исправить данные
Рейтинг авторов
Текущее соревнование
Расписание
Прошедшие соревнования
Правила

1835. Болотный доктор

Ограничение времени: 3.0 секунды
Ограничение памяти: 64 МБ
Во время последнего похода к центру Зоны сталкер Штырь угодил в неизвестную ранее аномалию. Дело плохо — у Штыря начали отрастать клыки и покраснели глаза. Теперь от превращения в кровососа Штыря сможет спасти только болотный доктор…
Штырь не знает адреса электронной почты доктора, но предполагает, что он есть в КПК погибшего сталкера Семецкого, который Штырь недавно нашёл. Беда в том, что хитрый Семецкий не использовал адресную книгу, а прятал адреса электронной почты в содержимом большого текстового файла. Несмотря на то, что Штырь может прочитать весь этот файл, тайну того, какой фрагмент файла является адресом доктора, Семецкий унёс с собой в могилу.
Штырь решил перебрать все фрагменты текста, которые могут являться адресами, отправляя по одному письму на каждый из них. Сколько же писем ему придётся отправить?
Адрес электронной почты в окрестностях Зоны состоит из имени пользователя и домена, разделённых символом «@». Имя пользователя и домен — непустые строки, состоящие из строчных английских букв и точек. При этом они не могут начинаться на точку, заканчиваться точкой и содержать две точки подряд.

Исходные данные

Во входных данных записано содержимое файла на КПК Семецкого. В файле могут встречаться только символы с ASCII-кодами от 32 до 126 и переводы строк. Объём входных данных не превосходит 106 байт.

Результат

Выведите, сколько различных электронных адресов содержит файл Семецкого.

Пример

исходные данныерезультат
a.b@c.d
b@c.de.
@qq
q@.q
5

Замечания

В файле встречаются следующие адреса: «a.b@c», «a.b@c.d», «b@c», «b@c.d», «b@c.de».
Автор задачи: Алексей Самсонов (подготовка — Дмитрий Иванков, Иван Бурмистров)
Источник задачи: XV Открытый чемпионат Урала по спортивному программированию (апрель, 2011)