Автомобильные номера

아직 제출이 없습니다시간 제한2초메모리 제한1024 MB

문제

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

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

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

Напомним, что автомобильные номера в России состоят из трех букв и трех цифр, упорядоченных следующим образом: буква, три цифры, затем две буквы. Фрагмент номера, который идентифицирует регион, в котором зарегистрирован автомобиль, мы будем игнорировать.

В номере могут использоваться следующие буквы: <<A>>, <<B>>, <<C>>, <<E>>, <<H>>, <<K>>, <<M>>, <<O>>, <<P>>, <<T>>, <<X>>, <<Y>> (эти буквы имеют схожие по написанию аналоги как в русском, так и в латинском алфавите). В этой задаче во входном файле будут использоваться буквы латинского алфавита.

입력

Входной файл содержит одну строку, которая представляет собой корректный автомобильный номер.

출력

В первой строке выходного файла выведите число kk --- количество номеров, которые могут получиться из заданного перестановкой букв и/или цифр.

В последующих kk строках выведите все такие номера в произвольном порядке.