Mõttemeister

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

문제

Mõttemeister는 두 사람이 즐기는 보드게임이다. 첫 번째 사람은 비밀의 네 자리 수를 마음속으로 정하고, 두 번째 사람은 그 수를 알아맞힌다.

매 차례마다 알아맞히는 사람은 네 자리 수를 하나 제시한다. 첫 번째 사람은 두 값 $A$와 $B$로 답하는데, $A$는 제시한 수에 들어 있는 올바른 숫자의 개수이고, $B$는 그중에서 자리까지 맞은 숫자의 개수이다.

그 후 알아맞히는 사람은 다시 새로운 수를 제시하며, 비밀의 수를 맞히거나 정해진 횟수를 넘길 때까지 게임이 이어진다.

예를 들어 비밀의 수가 $5247$이라고 하자. 제시한 수 $1234$에 대한 답은 $2$(숫자 $2$와 $4$가 올바름)와 $1$(숫자 $2$가 올바른 자리에 있음)이 된다.

제시한 수에 같은 숫자가 여러 번 나오면, 각 숫자는 비밀의 수에 들어 있는 개수만큼만 올바른 것으로 센다.

주어진 제시 수들과 그에 대한 답들을 바탕으로, 가능한 모든 비밀의 수를 찾는 프로그램을 작성하여라.

입력

첫째 줄에 정수 $N$ ($1 \le N \le 10,000$)이 주어진다. 다음 $N$개의 줄에는 각각 한 차례의 정보가 주어진다: 제시한 네 자리 수, 그 수에서 올바른 숫자의 개수 $A$ ($0 \le A \le 4$), 그리고 그중 올바른 자리에 있는 숫자의 개수 $B$ ($0 \le B \le A$).

출력

첫째 줄에 가능한 비밀의 수의 개수 $M$을 출력한다. 다음 $M$개의 줄에 가능한 비밀의 수를 오름차순으로 한 줄에 하나씩 출력한다. 각 수는 항상 네 자리로, 필요하면 앞에 $0$을 채워서 출력한다.