#include <bits/stdc++.h>
#define M 1000000007
#define pb push_back
typedef long long ll;
using namespace std;
int atoi(string s)
{
int num = 0;
for(int i=0;i<s.length();i++)
num = num*10 + (s[i]-'0');
return num;
}
vector<ll> vc,ls[3];
int comp(ll a,ll b)
{
return (a>b);
}
int main()
{
//if (in.is_open())
{
int tc;
cin >> tc;
//tc = atoi(str);
while(tc--)
{
ls[0].clear(); ls[1].clear(); ls[2].clear(); vc.clear();
ll n,len;
cin >> n;
ll ar[n],sum=0,flag=0;
for(int i=0;i<n;i++)
{
cin >> ar[i];
ls[ar[i]%3].pb(ar[i]);
sum = (sum+ar[i])%3;
if(ar[i]==0) flag=1;
//cout<<ls[ar[i]%3].back()<<" ";
}
if(!flag)
{
cout << "-1\n";
continue;
}
sort(ls[0].begin(),ls[0].end(),comp);
sort(ls[1].begin(),ls[1].end(),comp);
sort(ls[2].begin(),ls[2].end(),comp);
if(sum==1)
{
if(!ls[1].empty())
ls[1].pop_back();
else
{
len = ls[2].size();
for(int i=0;i<(len%3);i++)
ls[2].pop_back();
}
}
if(sum==2)
{
if(!ls[2].empty())
ls[2].pop_back();
else
{
len = ls[1].size();
for(int i=0;i<(len%3);i++)
ls[1].pop_back();
}
}
vc.insert(vc.end(),ls[0].begin(),ls[0].end());
vc.insert(vc.end(),ls[1].begin(),ls[1].end());
vc.insert(vc.end(),ls[2].begin(),ls[2].end());
sort(vc.begin(),vc.end(),comp);
if(ls[1].empty() && ls[2].empty() && (ls[0].front()==0))
{
cout << "0\n";
continue;
}
for(int i=0;i<vc.size();i++)
cout << vc[i];
cout << "\n";
}
}
//in.close();
//out.close();
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgTSAxMDAwMDAwMDA3CiNkZWZpbmUgcGIgcHVzaF9iYWNrCnR5cGVkZWYgbG9uZyBsb25nIGxsOwp1c2luZyBuYW1lc3BhY2Ugc3RkOwppbnQgYXRvaShzdHJpbmcgcykKewoJaW50IG51bSA9IDA7Cglmb3IoaW50IGk9MDtpPHMubGVuZ3RoKCk7aSsrKQoJCW51bSA9IG51bSoxMCArIChzW2ldLScwJyk7CglyZXR1cm4gbnVtOwp9CnZlY3RvcjxsbD4gdmMsbHNbM107CmludCBjb21wKGxsIGEsbGwgYikKewoJcmV0dXJuIChhPmIpOwp9CmludCBtYWluKCkKewoJLy9pZiAoaW4uaXNfb3BlbigpKQogIAl7CiAgCQlpbnQgdGM7CgkJY2luID4+IHRjOwoJCS8vdGMgPSBhdG9pKHN0cik7CgkJd2hpbGUodGMtLSkKCQl7CgkJCWxzWzBdLmNsZWFyKCk7IGxzWzFdLmNsZWFyKCk7IGxzWzJdLmNsZWFyKCk7IHZjLmNsZWFyKCk7CgkJCWxsIG4sbGVuOwoJCQljaW4gPj4gbjsKCQkJbGwgYXJbbl0sc3VtPTAsZmxhZz0wOwoJCQlmb3IoaW50IGk9MDtpPG47aSsrKQoJCQl7CgkJCQljaW4gPj4gYXJbaV07CgkJCQlsc1thcltpXSUzXS5wYihhcltpXSk7CgkJCQlzdW0gPSAoc3VtK2FyW2ldKSUzOwoJCQkJaWYoYXJbaV09PTApIGZsYWc9MTsKCQkJCS8vY291dDw8bHNbYXJbaV0lM10uYmFjaygpPDwiICI7CgkJCX0KCQkJaWYoIWZsYWcpIAoJCQl7CgkJCQljb3V0IDw8ICItMVxuIjsKCQkJCWNvbnRpbnVlOwoJCQl9CgkJCXNvcnQobHNbMF0uYmVnaW4oKSxsc1swXS5lbmQoKSxjb21wKTsKCQkJc29ydChsc1sxXS5iZWdpbigpLGxzWzFdLmVuZCgpLGNvbXApOwoJCQlzb3J0KGxzWzJdLmJlZ2luKCksbHNbMl0uZW5kKCksY29tcCk7CgkJCgkJCWlmKHN1bT09MSkgCgkJCXsKCQkJCWlmKCFsc1sxXS5lbXB0eSgpKQoJCQkJCWxzWzFdLnBvcF9iYWNrKCk7CgkJCQllbHNlCgkJCQl7CgkJCQkJbGVuID0gbHNbMl0uc2l6ZSgpOwoJCQkJCWZvcihpbnQgaT0wO2k8KGxlbiUzKTtpKyspCgkJCQkJCWxzWzJdLnBvcF9iYWNrKCk7CgkJCQl9CgkJCX0KCQkJaWYoc3VtPT0yKSAKCQkJewoJCQkJaWYoIWxzWzJdLmVtcHR5KCkpCgkJCQkJbHNbMl0ucG9wX2JhY2soKTsKCQkJCWVsc2UKCQkJCXsKCQkJCQlsZW4gPSBsc1sxXS5zaXplKCk7CgkJCQkJZm9yKGludCBpPTA7aTwobGVuJTMpO2krKykKCQkJCQkJbHNbMV0ucG9wX2JhY2soKTsKCQkJCX0KCQkJfQoJCQl2Yy5pbnNlcnQodmMuZW5kKCksbHNbMF0uYmVnaW4oKSxsc1swXS5lbmQoKSk7CgkJCXZjLmluc2VydCh2Yy5lbmQoKSxsc1sxXS5iZWdpbigpLGxzWzFdLmVuZCgpKTsKCQkJdmMuaW5zZXJ0KHZjLmVuZCgpLGxzWzJdLmJlZ2luKCksbHNbMl0uZW5kKCkpOwoJCQlzb3J0KHZjLmJlZ2luKCksdmMuZW5kKCksY29tcCk7CgkJCWlmKGxzWzFdLmVtcHR5KCkgJiYgbHNbMl0uZW1wdHkoKSAmJiAobHNbMF0uZnJvbnQoKT09MCkpCgkJCXsKCQkJCWNvdXQgPDwgIjBcbiI7CgkJCQljb250aW51ZTsKCQkJfQoJCQlmb3IoaW50IGk9MDtpPHZjLnNpemUoKTtpKyspCgkJCQljb3V0IDw8IHZjW2ldOwoJCQljb3V0IDw8ICJcbiI7CiAgICAJfQogICAgfQogICAgLy9pbi5jbG9zZSgpOwogICAgLy9vdXQuY2xvc2UoKTsKICAJcmV0dXJuIDA7Cn0KIA==