Автомобільні номери
При розслідуванні дорожно-транспортних пригод часто виникають проблеми з розшуком автомобілів, водії яких покинули місце пригоди.
Отримання показів свідків - непроста робота. Ситуація ускладгюється тим, що дуже часто свідки можуть лише приблизно згадати номер автомобіля. При цьому з великою ймовірністю опитуваний може переплутати порядок цифр або букв у номері.
За отриманим від свідка пригоди номером, підрахуйте, скільки різних номерів може бути отримано з нього перестановкою букв і/або цифр, а також виведіть усі такі номери.
Нагадаємо, що автомобільні номери в Росії складаються з трьох букв та трьох цифр, впорядкованих наступним чином: буква, три цифри, потім дві букви. Фрагмент номера, який ідентифікує регіон, у якому зареєстровано автомобіль, ми будемо ігнорувати.
У номері можуть використовуватись наступні букви: "A", "B", "C", "E", "H", "K", "M", "O", "P", "T", "X", "Y" (ці букви мають схожі за написанням аналоги як у російському, так і у латинському алфавіті). У цій задачі у вхідних даних будуть використовуватись букви латинського алфавіту.
Вхідні дані
На вхід програми подається один рядок, який являє собою коректний номер автомобіля.
Вихідні дані
У першому рядку виведіть число k - кількість номерів, які можуть бути отримані з заданого перестановкою букв і/або цифр.
У наступних k рядках виведіть усі такі номери у довільному порядку.