import collections,sys,math,functools,operator,itertools,bisect,heapq,decimal,string,time,random #sys.setrecursionlimit(10**9) #sys.set_int_max_str_digits(0) #input = sys.stdin.readline t = int(input()) #alist = list(map(int,input().split())) #alist = [] #s = input() #n,m = map(int,input().split()) #for i in range(n): # alist.append(list(map(int,input().split()))) for _ in range(t): n = int(input()) x = n*(n+1)//2 if x % 2 == 1: print(-1) continue ans = ['0' for i in range(n)] temp = x // 2 for i in reversed(range(n)): if temp >= i+1: temp -= i+1 ans[i] = '1' print(''.join(ans))