#include <bits/stdc++.h>
using namespace std;
int d[20][10], step[20][10];
int main() {
  int T;
  scanf("%d", &T);
  while (T--) {
    long long t;
    cin >> t;
    int len = 0, num[20];
    long long ans[6] = {0};
    while (t) {
      num[++len] = t % 10;
      t /= 10;
    }
    memset(d, 0, sizeof(d));
    d[0][0] = 1;
    for (int i = 1; i <= len; i++)
      for (int j = 0; j <= 5; j++) {
        int need = num[i] + j * 10;
        for (int k = 0; k <= 6; k++)
          for (int l = 0; l + k <= 6; l++)
            if (need - 4 * k - 7 * l <= 5 && need - 4 * k - 7 * l >= 0 &&
                d[i - 1][need - 4 * k - 7 * l]) {
              d[i][j] = 1;
              step[i][j] = k * 10 + l;
            }
      }
    if (d[len][0]) {
      int c = 0;
      for (int i = len; i >= 1; i--) {
        int four = step[i][c] / 10, seven = step[i][c] % 10;
        for (int j = 0; j < four; j++) ans[j] = ans[j] * 10 + 4;
        for (int j = four; j < four + seven; j++) ans[j] = ans[j] * 10 + 7;
        for (int j = four + seven; j < 6; j++) ans[j] = ans[j] * 10;
        c = 10 * c + num[i] - 4 * four - 7 * seven;
      }
      for (int i = 0; i < 6; i++) cout << ans[i] << ' ';
      printf("\n");
    } else
      printf("-1\n");
  }
  return 0;
}
