#include <bits/stdc++.h>
using namespace std;
int t;
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
//freopen("input.inp", "r", stdin);
//freopen("output.out", "w", stdout);
cin>>t;
for (int i=0; i<t; i++)
{
int n;
cin>>n;
int a[n][n];
for (int i=0; i<n; i++)
for (int j=0; j<n; j++) cin>>a[i][j];
int mp[n]={0};
int mis[n]={0};
bool com[n][n]= {false};
for (int i=0; i<n; i++)
for (int j=0; j<n; j++)
{
if (i!=j)
{
if (a[i][j]==1) mp[i]+=3;
else if (a[i][j]==2)
{
if (com[i][j]==false)
{
mis[i]++;
mis[j]++;
com[j][i]=true;
}
}
}
}
int k=mp[0];
for (int i=1;i<n;i++) if (mp[i]>k) k=mp[i];
for (int i=0; i<n; i++)
{
int x=k-mp[i];
int t=3*mis[i];
if (x>t) cout<<"0";
else cout<<"1";
}
cout<<endl;
}
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgdDsKaW50IG1haW4oKQp7CiAgICBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsKICAgIGNpbi50aWUoTlVMTCk7CiAgICAvL2ZyZW9wZW4oImlucHV0LmlucCIsICJyIiwgc3RkaW4pOwogICAgLy9mcmVvcGVuKCJvdXRwdXQub3V0IiwgInciLCBzdGRvdXQpOwogICAgY2luPj50OwogICAgZm9yIChpbnQgaT0wOyBpPHQ7IGkrKykKICAgIHsKICAgICAgICBpbnQgbjsKICAgICAgICBjaW4+Pm47CiAgICAgICAgaW50IGFbbl1bbl07CiAgICAgICAgZm9yIChpbnQgaT0wOyBpPG47IGkrKykKICAgICAgICAgICAgZm9yIChpbnQgaj0wOyBqPG47IGorKykgY2luPj5hW2ldW2pdOwogICAgICAgIGludCBtcFtuXT17MH07CiAgICAgICAgaW50IG1pc1tuXT17MH07CiAgICAgICAgYm9vbCBjb21bbl1bbl09IHtmYWxzZX07CiAgICAgICAgZm9yIChpbnQgaT0wOyBpPG47IGkrKykKICAgICAgICAgICAgZm9yIChpbnQgaj0wOyBqPG47IGorKykKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWYgKGkhPWopCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgaWYgKGFbaV1bal09PTEpIG1wW2ldKz0zOwogICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKGFbaV1bal09PTIpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoY29tW2ldW2pdPT1mYWxzZSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbWlzW2ldKys7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtaXNbal0rKzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbVtqXVtpXT10cnVlOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgaW50IGs9bXBbMF07CiAgICAgICAgZm9yIChpbnQgaT0xO2k8bjtpKyspIGlmIChtcFtpXT5rKSBrPW1wW2ldOwogICAgICAgIGZvciAoaW50IGk9MDsgaTxuOyBpKyspCiAgICAgICAgewogICAgICAgICAgICBpbnQgeD1rLW1wW2ldOwogICAgICAgICAgICBpbnQgdD0zKm1pc1tpXTsKICAgICAgICAgICAgaWYgKHg+dCkgY291dDw8IjAiOwogICAgICAgICAgICBlbHNlIGNvdXQ8PCIxIjsKICAgICAgICB9CiAgICAgICAgY291dDw8ZW5kbDsKICAgIH0KfQ==