from collections import deque, defaultdict, Counter from bisect import bisect_left, bisect_right from itertools import permutations, combinations from heapq import heappop, heappush import math, sys input = lambda: sys.stdin.readline().rstrip("\r\n") _int = lambda x: int(x)-1 MOD = 998244353 #10**9+7 INF = 1<<60 Yes, No = "Yes", "No" for _ in range(int(input())): N = int(input()) A = list(map(int, input().split())) B = list(map(int, input().split())) C = [(A[i], i) for i in range(N)] C.sort(reverse=True) cum = [0] for b in B: cum.append(cum[-1]+b) ans = (cum[N], 0) cnt = 0 for i in range(N): cnt += C[i][0] rem = N-i-1 ans = max(ans, (cnt+cum[rem], i+1)) li = ["1"]*N for i in range(ans[1]): li[C[i][1]] = "0" print("".join(li))