정수 N과 16진법 숫자 D개가 주어진다. 16진법으로 나타냈을 때 주어진 숫자만 쓰면서 N으로 나누어떨어지는 가장 작은 양의 정수 X를 구하라.
첫째 줄에 테스트 케이스의 개수 T가 주어진다 (1≤T≤100).
각 테스트 케이스는 두 줄이다. 첫째 줄에는 N과 D가 10진법으로 공백을 사이에 두고 주어진다 (1≤N≤200000, 1≤D≤16). 둘째 줄에는 쓸 수 있는 16진법 숫자 d1,d2,…,dD가 공백으로 구분되어 주어진다. 각 숫자는 0부터 9까지와 a부터 f까지 중 하나이고, 서로 다르며, 오름차순으로 정렬되어 있다.
각 테스트 케이스마다 한 줄씩 출력한다. N의 배수이면서 16진법 표기에 주어진 숫자만 쓰는 가장 작은 양의 정수 X를 16진법으로 출력한다. a부터 f는 소문자로 쓰고, 앞에 0을 붙이지 않는다. 조건을 만족하는 수가 없으면 no solution을 출력한다.
답은 아주 길어질 수 있다. 64비트 정수에 담기지 않는 경우가 있으므로 문자열로 만들어야 한다.