미샤는 수를 가지고 노는 것을 좋아한다. 며칠 전 미샤는 93762=87909376이고, 제곱한 값의 마지막 네 자리가 다시 9376이라는 사실을 발견했다. 미샤는 이런 수를 자기복제 수라고 부른다.
미샤는 10진법 말고 다른 진법도 알고 있어서 2진법이나 16진법의 자기복제 수도 궁금해한다. 진법의 밑 b와 자릿수 n이 주어질 때, b진법으로 n자리인 자기복제 수를 모두 찾는 프로그램을 작성하시오.
수 x가 b진법 n자리 자기복제 수라는 것은 다음 두 조건을 모두 만족한다는 뜻이다.
0으로 본다.첫째 줄에 진법의 밑 b와 자릿수 n이 공백 하나로 구분되어 주어진다. (2≤b≤36, 1≤n≤2000)
첫째 줄에 b진법 n자리 자기복제 수의 개수 K를 출력한다. 이어지는 K개의 줄에 조건을 만족하는 수를 b진법으로 한 줄에 하나씩, 값이 작은 것부터 큰 순서로 출력한다.
b>10이면 10부터 35까지의 숫자를 대문자 A부터 Z까지로 나타낸다. 조건을 만족하는 수가 하나도 없으면 첫째 줄에 0만 출력한다.