알버트는 학교에서 정수, 숫자, 뺄셈을 배웠다. 그래서 심심할 때마다 혼자 즐길 수 있도록 "까다로운 수"라는 게임을 만들었다.
이 게임을 하려면 먼저, 0 이상 9 이하 숫자 A를 골라야 한다. 그 이후 K번째 작은 "A-까다로운 수"를 찾아야 하는데, 양의 정수 X가 아래와 같은 조건을 만족하면 "A-까다로운 수"라고 한다.
- X가 한 자릿수면 "A-까다로운 수"이다.
- X가 두 자리 이상이면서, X를 구성하는 숫자 중 인접한 숫자의 차이가 A 미만인 경우가 없으면 "A-까다로운 수"이다.
예를 들어, A = 0인 경우 모든 양의 정수는 "A-까다로운 수"이다.
A = 1인 경우, 첫 30개의 "A-까다로운 수"는 다음과 같다.
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, ...
A와 K가 주어졌을 때, K번째로 작은 "A-까다로운 수"를 구하는 프로그램을 작성하시오. 단, 답이 매우 큰 수가 될 수 있기 때문에, 109+7로 나눈 나머지를 출력한다.