소 베시는 대학에서 컴퓨터 수업을 듣다가 수를 여러 진법으로 적는 방법을 배웠다.
B진법으로 적은 수는 오른쪽부터 차례로 1, B, B2, B3 자리를 나타낸다. 익숙한 십진법에서 각 자리가 1, 10, 100, 1000을 뜻하는 것과 같다. 숫자 나열 1234를 십진법으로 읽으면 1(1000)+2(100)+3(10)+4(1)이고, 같은 나열을 5진법으로 읽으면 1(125)+2(25)+3(5)+4(1)이어서 십진법의 194가 된다. 진법이 커지면 같은 숫자 나열이 나타내는 수도 커진다. 예를 들어 7진법의 1234는 6진법의 1234보다 크다.
B진법에서 각 자리의 숫자는 0부터 B−1까지다. 십진법이면 0부터 9까지, 5진법이면 0부터 4까지다. 10보다 큰 진법도 쓸 수 있다. 컴퓨터 분야에서 자주 쓰는 16진법은 문자 A부터 F까지로 10부터 15까지의 값을 나타낸다. 16진법의 BEEF는 11(4096)+14(256)+14(16)+15이고, 십진법으로는 48879다.
베시는 10보다 훨씬 큰 진법에 흥미를 느꼈다. 어떤 수 N을 서로 다른 두 진법 X와 Y로 적었고, X와 Y는 모두 10 이상 15000 이하다. 두 경우 모두 결과는 세 자리 숫자 나열이었고, 각 자리의 숫자는 1부터 9까지였다. 그런데 베시는 N과 X, Y를 모두 잊어버렸다. 적어 둔 두 개의 세 자리 나열만 보고 베시가 사용한 두 진법 X와 Y를 알아내라.
X와 Y가 가질 수 있는 값이 많아서, 가능한 (X,Y) 쌍을 전부 시도하는 풀이는 약 150002가지를 확인하므로 제한 시간 안에 끝나지 않는다.
첫 줄에 정수 K가 주어진다. 다음 K개의 줄에는 각각 테스트 케이스가 하나씩 주어진다. 각 테스트 케이스는 세 자리 수 두 개로 이루어진다. 첫 번째 수는 N을 X진법으로 적은 것이고, 두 번째 수는 같은 N을 Y진법으로 적은 것이다. N과 X, Y는 테스트 케이스마다 다를 수 있다.
K개의 줄을 출력한다. 각 줄에 해당 테스트 케이스의 X와 Y를 공백 하나로 구분해 출력한다. 각 테스트 케이스의 답은 하나뿐임이 보장된다.
8892를 47진법으로 적으면 419이고, 35진법으로 적으면 792다.