package ssafy;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Base64;
public class Solution {
public static void main(String[] args) throws Exception{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int T = Integer.parseInt(br.readLine()); // 테스트 케이스
ArrayList<Integer> arr = new ArrayList<>(); // 정답을 저장할 list
for(int i=0; i<T; i++) {
int N = Integer.parseInt(br.readLine());
boolean check[] = new boolean[10]; // 0~9까지 봤던 숫자를 저장할 배열
int b=1; // 증가할 배수 1N,2N,3N ...
int count=0; // 새로운 숫자를 보았을 때 올려줄 카운트
while(true) {
int a = N*b; // 증가할 배수 1N,2N,3N ...
// 자릿수 구하기
while(a>0) {
// 해당 자릿수의 숫자를 본적이 없을 때 true 로 바꿔주고 카운트 증가
if(check[a%10]==false) {
check[a%10] = true;
count++;
}
// 다음 자릿수를 알기 위해 나누기 10해주고 저장
a /= 10;
}
// 카운트가 10이라는 소리는 0~9까지 다보았다는 소리
if(count==10) break;
// 배수 증가시키기
b++;
}
arr.add(b*N);
}
for(int i=1; i<=T; i++) {
System.out.println("#" + i + " " + arr.get(i-1));
}
}
}