#include <bits/stdc++.h>
using namespace std;
int arr[10], ans[10005];
bool f;
void dfs(int n, int step, int z)
{
if (n == 0)
{
f = 1;
cout << ans[1];
for (int i = 2; i <= z; i++)
{
if (ans[i] == 6)
ans[i] = 0;
cout << ans[i];
}
cout << endl;
return;
}
if (step > z)
{
return;
}
for (int i = 1; i <= 8; i++)
{
if (arr[i] == -1)
continue;
ans[step] = i;
dfs(n - arr[i], step + 1, z);
if (f == 1)
return;
}
}
int main()
{
int t, n;
cin >> t;
arr[1] = 2, arr[2] = 5, arr[3] = -1, arr[4] = 4, arr[5] = -1, arr[6] = 6;
arr[7] = 3, arr[8] = 7;
while (t--)
{
f = 0;
memset(ans, 0, sizeof(ans));
cin >> n;
if (n == 1)
cout << -1 << endl;
else
dfs(n, 1, ceil(n / 7.0));
}
return 0;
}