B. Список файлов
ограничение по времени на тест
2 seconds
ограничение по памяти на тест
256 megabytes
ввод
stdin
вывод
stdout

Системный администратор Евдоким снова «отличился». В результате ошибки в некотором скрипте список имен особо важных файлов был поврежден. Так как это были файлы файловой системы BerFS, то известно, что каждое имя файла имеет вид «name.ext», где:

  • name — это строка строчных латинских букв длины от 1 до 8 символов;
  • ext — это строка строчных латинских букв длины от 1 до 3 символов.

Например, «read.me», «example.txt» и «b.cpp» — корректные имена файлов, а «version.info», «ntldr» и «contestdata.zip» — нет.

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

Евдокиму необходимо срочно исправить ситуацию, разделив на части получившуюся строку так, что каждая часть будет корректным именем файла в BerFS. Так как Евдоким уже доказал, что он не силен в программировании, помогите ему. Получившийся список файлов может содержать одинаковые имена файлов.

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

Входные данные состоят из единственной строки s, длина которой от 1 до 4·105 символов. Строка может содержать только строчные латинские буквы («a» - «z») и точки («.»).

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

Выведите «YES» (без кавычек) в первую строку, если возможно разбить s на части требуемым образом. В этом случае следующие строки должны содержать части искомого разбиения, по одной части в строке в порядке их следования в s. Искомое разбиение может содержать одинаковые имена файлов. Если решений несколько, выведите любое.

Если решения не существует, то выведите в единственную строку «NO» (без кавычек).

Примеры
Входные данные
read.meexample.txtb.cpp
Выходные данные
YES
read.m
eexample.t
xtb.cpp
Входные данные
version.infontldrcontestdata.zip
Выходные данные
NO