from scipy.optimize import linprog T = int(input()) rets = [] A_ub = [ [1, -1, -1, -1], [-1, 1, -1, -1], [-1, -1, 1, -1], [-1, -1, -1, 1], ] b_ub = [-1, -1, -1, -1] for _ in range(T): n = int(input()) if n % 8: rets.append([-1]) else: n //= 8 base = [0] * 4 u = 0 if n > 1 << 40: u = (n - (1 << 30)) // (1 + 11 + 111 + 1111) n -= u * (1 + 11 + 111 + 1111) sol = linprog( c=[0]*4, A_ub=A_ub, b_ub=b_ub, A_eq=[[1, 11, 111, 1111]], b_eq=[n], integrality=1, ) if sol.success: res = [round(x) + u for x in sol.x] rets.append(res) else: rets.append([-1]) for r in rets: print(*r)