자동차 번호판
면접 대비시간 제한2초메모리 제한1024 MB
러시아 자동차 번호판(글자 하나, 숫자 세 개, 글자 두 개)이 주어질 때, 숫자 세 개와 글자 세 개를 각각 재배열해 만들 수 있는 서로 다른 번호판을 모두 출력한다.
문제
교통사고를 수사할 때, 사고 현장을 떠난 차량을 찾는 일은 자주 문제가 된다.
목격자의 진술을 확보하는 것은 쉬운 일이 아니다. 목격자들이 차량 번호를 대략적으로만 기억하는 경우가 매우 많기 때문에 상황은 더 어려워진다. 게다가 진술자는 번호에 있는 숫자나 글자의 순서를 잘못 기억할 가능성이 크다.
사고 목격자에게서 받은 번호가 주어졌을 때, 글자와 숫자를 재배열해서 만들 수 있는 서로 다른 번호의 개수를 세고, 그러한 번호를 모두 출력하시오.
러시아의 자동차 번호판은 세 개의 글자와 세 개의 숫자로 이루어지며, 다음과 같은 순서로 배열된다는 점을 상기하자: 글자 하나, 숫자 세 개, 그다음 글자 두 개. 차량이 등록된 지역을 나타내는 번호판 부분은 무시한다.
번호판에는 다음 글자만 사용할 수 있다: <<A>>, <<B>>, <<C>>, <<E>>, <<H>>, <<K>>, <<M>>, <<O>>, <<P>>, <<T>>, <<X>>, <<Y>> (이 글자들은 러시아어와 라틴어 알파벳 모두에서 비슷하게 생긴 글자가 있다). 이 문제에서 입력 파일에는 라틴 알파벳 글자가 사용된다.
입력
입력 파일에는 올바른 자동차 번호 하나가 한 줄로 주어진다.
출력
출력 파일의 첫 번째 줄에는 주어진 번호에서 글자와 숫자를 재배열해서 만들 수 있는 번호의 개수 를 출력한다.
그다음 개의 줄에는 그러한 번호를 모두 임의의 순서로 출력한다.