문제
숫자들로 이뤄진 문자열의 곱이란 문자열을 이룬 모든 숫자들의 곱이다.
예를 들어 문자열 "123"의 경우 문자열의 곱은 1*2*3=6 이다.
문자열에 숫자만이 존재하고, 길이 1이상의 부분 문자열(substring, 문자열의 연속된 부분)에서
문자열의 곱이 서로 다를 경우에 문자열이 아름답다고 한다.
예를 들어 문자열 "263"은 6개의 부분 문자열을 가지고 있으며 :
"2", "6", "3", "26", "63" , "263" 각 부분 문자열의 곱의 값은 다음과 같다.
2, 6, 3, 2 * 6 = 12, 6 * 3 = 18 , 2 * 6 * 3 = 36, 이 경우 6개의 모든 부분 문자열들의 문자열의 곱의 값이 모두 다르다.
따라서 "263"의 경우 아름다운 문자열이라 할 수 있다.
다른 예로, "236"의 경우 부분 문자열 "6"과 "23"의 문자열의 곱의 값이 같기 때문에 아름다운 문자열이라고 할 수 없다.
길이 n의 문자열에 대해 문자열의 곱이 아름다운 문자열 중, 사전 순으로 k번째로 등장하는 문자열을 찾아내는 프로그램을 작성하라.
맨 처음 나올 수 있는 문자열을 1번째라고 한다.
입력
입력의 첫 번째 줄에는 테스트 케이스의 개수 T(1≤T≤10)가 입력된다. 각 테스트 케이스는 한 줄이며, n(1≤n≤50), k(1≤k≤1,000,000,000)가 입력된다.
출력
각 테스트 케이스에 대해 k번째 아름다운 문자열을 출력한다. 만약 없을 경우 "NONE"을 출력한다.
예제
5
3 4
4 2000
5 1
2 22
6 464
238
NONE
23457
52
257936