# 青と赤の塗り方を探索する関数 def find_painting(N): # 青で塗った数の合計 sum_blue = 0 # 1 から N までの数を順に青と赤に割り振る colors = [0] * N for i in range(1, N + 1): if sum_blue + i <= (N * (N + 1)) // 2 / 2: colors[i - 1] = 0 # 青で塗る sum_blue += i else: colors[i - 1] = 1 # 赤で塗る # 青で塗った数の合計が赤で塗った数の合計と一致するか確認 if sum_blue == (N * (N + 1)) // 4: return colors else: return None # テストケースの数 T = int(input()) for _ in range(T): # 各テストケースの入力 N = int(input()) # 塗り方を探索 result = find_painting(N) # 結果を出力 if result is None: print(-1) else: print(''.join(map(str, result)))