0과 1로 이루어진 길이 n의 문자열을 생각한다. 이 문자열에서 인접한 두 글자의 쌍은 모두 n−1개이고, 각 쌍은 00, 01, 10, 11 중 하나다.
네 정수 a, b, c, d가 주어진다. 인접한 쌍 중 00이 정확히 a개, 01이 정확히 b개, 10이 정확히 c개, 11이 정확히 d개인 문자열을 복원한다. 문자열의 길이는 항상 n=a+b+c+d+1이다.
조건을 만족하는 문자열이 여러 개일 수 있으므로, 그중 사전순으로 가장 앞선 하나를 출력한다. 후보의 길이는 모두 같으니 첫 글자부터 차례로 비교하면 된다.
첫째 줄에 테스트의 개수 t (1≤t≤10000)가 주어진다.
이어지는 t개의 줄에 각각 네 정수 a, b, c, d (0≤a,b,c,d≤20)가 공백으로 구분되어 주어진다. 모든 테스트에서 a+b+c+d≥1이다.
t개의 줄을 출력한다. 각 테스트마다 조건을 만족하는 문자열 중 사전순으로 가장 앞선 것을 출력한다. 조건을 만족하는 문자열이 없으면 impossible을 출력한다.