#include <bits/stdc++.h>
using namespace std;
#define IO ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
#define ll long long
const int N = 9 ;
int dx[]= {1,-1,0,0};
int dy[]= {0,0,1,-1};
int a[N][N] ;
vector<int>v;
vector<pair<int,int> >idx;
int cnt ;
int main()
{
IO
int t ;
cin>>t;
while(t--)
{
cnt++;
int freq[17]= {};
idx.clear();
v.clear();
for(int i=0 ; i<4 ; i++)
{
for(int j=0 ; j<4 ; j++)
{
cin>>a[i][j];
if(a[i][j]==-1)
idx.push_back({i,j});
else
freq[a[i][j]]=1;
}
}
for(int i=1 ; i<=16 ; i++)
if(!freq[i])
v.push_back(i);
do{
int rep[65] = {} ;
int x=0;
for(int i=0 ; i<9 ; i++)
a[idx[i].first][idx[i].second]=v[i];
for(int i=0 ; i<4 ; i++)
{
int sum_1= 0 , sum_2=0 ;
for(int j=0 ; j<4 ; j++)
{
sum_1+=a[i][j];
sum_2+=a[j][i];
}
rep[sum_1]++;
rep[sum_2]++;
}
for(int i=1 ; i<=64 ; i++)
x+=(rep[i]==8);
if(x)
{
cout<<"Case "<<cnt<<":\n";
for(int i=0 ; i<4 ; i++)
{
for(int j=0 ; j<4 ; j++)
{
if(j==3)
cout<<a[i][j];
else
cout<<a[i][j]<<' ';
}
cout<<'\n';
}
break;
}
}while(next_permutation(v.begin(),v.end()));
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgSU8gaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbygwKTtjaW4udGllKDApO2NvdXQudGllKDApOwojZGVmaW5lIGxsIGxvbmcgbG9uZwpjb25zdCBpbnQgTiA9IDkgOwppbnQgZHhbXT0gezEsLTEsMCwwfTsKaW50IGR5W109IHswLDAsMSwtMX07CmludCBhW05dW05dIDsKdmVjdG9yPGludD52Owp2ZWN0b3I8cGFpcjxpbnQsaW50PiA+aWR4OwppbnQgY250IDsKaW50IG1haW4oKQp7CiAgICBJTwogICAgaW50IHQgOwogICAgY2luPj50OwogICAgd2hpbGUodC0tKQogICAgewogICAgICAgIGNudCsrOwogICAgICAgIGludCBmcmVxWzE3XT0ge307CiAgICAgICAgaWR4LmNsZWFyKCk7CiAgICAgICAgdi5jbGVhcigpOwogICAgICAgIGZvcihpbnQgaT0wIDsgaTw0IDsgaSsrKQogICAgICAgIHsKICAgICAgICAgICAgZm9yKGludCBqPTAgOyBqPDQgOyBqKyspCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGNpbj4+YVtpXVtqXTsKICAgICAgICAgICAgICAgIGlmKGFbaV1bal09PS0xKQogICAgICAgICAgICAgICAgICAgIGlkeC5wdXNoX2JhY2soe2ksan0pOwogICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgICAgIGZyZXFbYVtpXVtqXV09MTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBmb3IoaW50IGk9MSA7IGk8PTE2IDsgaSsrKQogICAgICAgICAgICBpZighZnJlcVtpXSkKICAgICAgICAgICAgICAgIHYucHVzaF9iYWNrKGkpOwogICAgICAgIGRvewogICAgICAgICAgICBpbnQgcmVwWzY1XSA9IHt9IDsKICAgICAgICAgICAgaW50IHg9MDsKICAgICAgICAgICAgZm9yKGludCBpPTAgOyBpPDkgOyBpKyspCiAgICAgICAgICAgICAgICBhW2lkeFtpXS5maXJzdF1baWR4W2ldLnNlY29uZF09dltpXTsKICAgICAgICAgICAgZm9yKGludCBpPTAgOyBpPDQgOyBpKyspCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGludCBzdW1fMT0gMCAsIHN1bV8yPTAgOwogICAgICAgICAgICAgICAgZm9yKGludCBqPTAgOyBqPDQgOyBqKyspCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgc3VtXzErPWFbaV1bal07CiAgICAgICAgICAgICAgICAgICAgc3VtXzIrPWFbal1baV07CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICByZXBbc3VtXzFdKys7CiAgICAgICAgICAgICAgICByZXBbc3VtXzJdKys7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZm9yKGludCBpPTEgOyBpPD02NCA7IGkrKykKICAgICAgICAgICAgICAgIHgrPShyZXBbaV09PTgpOwogICAgICAgICAgICBpZih4KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBjb3V0PDwiQ2FzZSAiPDxjbnQ8PCI6XG4iOwogICAgICAgICAgICAgICAgZm9yKGludCBpPTAgOyBpPDQgOyBpKyspCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgZm9yKGludCBqPTAgOyBqPDQgOyBqKyspCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBpZihqPT0zKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY291dDw8YVtpXVtqXTsKICAgICAgICAgICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY291dDw8YVtpXVtqXTw8JyAnOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBjb3V0PDwnXG4nOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KCiAgICAgICAgfXdoaWxlKG5leHRfcGVybXV0YXRpb24odi5iZWdpbigpLHYuZW5kKCkpKTsKICAgIH0KCgogICAgcmV0dXJuIDA7Cn0=