#include<cstdio>
#include<cstring>
#include<string>
#include<cmath>
#include<algorithm>
#include<iostream>
using namespace std;
int tab[101][101];
int main(){
int d,n,m;
scanf("%d",&d);
for(int q=0;q<d;++q){
string g="";
scanf("%d%d\n",&n,&m);
for(int i=0;i<n;++i){
for(int j=0;j<m;++j){
tab[i][j]=0;
}
}
for(int i=0;i<n;++i){
for(int j=0;j<m;++j){
if(j==m-1&&i!=n-1)scanf("%d\n",&tab[i][j]);
else scanf("%d",&tab[i][j]);
}
}
for(int i=0;i<n;++i){
for(int j=0;j<m;++j){
if(i==0){
g+=tab[i][j]+'0';
}
}
}
for(int i=0;i<n;++i){
for(int j=0;j<m;++j){
if(j==m-1&&i!=0){
g+=tab[i][j]+'0';
}
}
}
for(int i=n-1;i>=0;--i){
for(int j=m-1;j>=0;--j){
if(i==n-1&&j!=m-1){
g+=tab[i][j]+'0';
}
}
}
for(int i=0;i<n;++i){
for(int j=0;j<m;++j){
if(j==0&&i!=0&&i!=n-1){
g+=tab[i][j]+'0';
}
}
}
int x=n*2+(m-2)*2;
char dx=g[0];
g.insert(x,1,dx);
g.erase(0,1);
int h=0;
for(int i=0;i<n;++i){
for(int j=0;j<m;++j){
if(i==0){
tab[i][j]=g[h];
h++;
}
}
}
for(int i=0;i<n;++i){
for(int j=0;j<m;++j){
if(j==m-1&&i!=0&&i!=n-1){
tab[i][j]=g[h];
h++;
}
}
}
for(int i=n-1;i>0;--i){
for(int j=m-1;j>0;--j){
if(i==n-1){
tab[i][j]=g[h];
h++;
}
}
}
for(int i=n-1;i>=0;--i){
for(int j=m-1;j>=0;--j){
if(j==0&&i!=0){
tab[i][j]=g[h];
h++;
}
}
}
for(int i=0;i<n;++i){
for(int j=0;j<m;++j){
if(j!=0&&i!=0&&i!=n-1&&j!=m-1){
tab[i][j]+='0';
}
}
}
for(int i=0;i<n;++i){
for(int j=0;j<m;++j){
if(j==m-1&&i!=n-1)printf("%d\n",tab[i][j]-'0');
else printf("%d ",tab[i][j]-'0');
}
}
printf("\n");
}
return 0;
}
I2luY2x1ZGU8Y3N0ZGlvPgojaW5jbHVkZTxjc3RyaW5nPgojaW5jbHVkZTxzdHJpbmc+CiNpbmNsdWRlPGNtYXRoPgojaW5jbHVkZTxhbGdvcml0aG0+CiNpbmNsdWRlPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwppbnQgdGFiWzEwMV1bMTAxXTsKaW50IG1haW4oKXsKICAgIGludCBkLG4sbTsKICAgIHNjYW5mKCIlZCIsJmQpOwogICAgZm9yKGludCBxPTA7cTxkOysrcSl7CiAgICAgICAgc3RyaW5nIGc9IiI7CiAgICAgICAgc2NhbmYoIiVkJWRcbiIsJm4sJm0pOwogICAgICAgIGZvcihpbnQgaT0wO2k8bjsrK2kpewogICAgICAgICAgICBmb3IoaW50IGo9MDtqPG07KytqKXsKICAgICAgICAgICAgICAgIHRhYltpXVtqXT0wOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGZvcihpbnQgaT0wO2k8bjsrK2kpewogICAgICAgICAgICBmb3IoaW50IGo9MDtqPG07KytqKXsKICAgICAgICAgICAgICAgIGlmKGo9PW0tMSYmaSE9bi0xKXNjYW5mKCIlZFxuIiwmdGFiW2ldW2pdKTsKICAgICAgICAgICAgICAgIGVsc2Ugc2NhbmYoIiVkIiwmdGFiW2ldW2pdKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBmb3IoaW50IGk9MDtpPG47KytpKXsKICAgICAgICAgICAgZm9yKGludCBqPTA7ajxtOysrail7CiAgICAgICAgICAgICAgICBpZihpPT0wKXsKICAgICAgICAgICAgICAgICAgICBnKz10YWJbaV1bal0rJzAnOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGZvcihpbnQgaT0wO2k8bjsrK2kpewogICAgICAgICAgICBmb3IoaW50IGo9MDtqPG07KytqKXsKICAgICAgICAgICAgICAgIGlmKGo9PW0tMSYmaSE9MCl7CiAgICAgICAgICAgICAgICAgICAgZys9dGFiW2ldW2pdKycwJzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBmb3IoaW50IGk9bi0xO2k+PTA7LS1pKXsKICAgICAgICAgICAgZm9yKGludCBqPW0tMTtqPj0wOy0tail7CiAgICAgICAgICAgICAgICBpZihpPT1uLTEmJmohPW0tMSl7CiAgICAgICAgICAgICAgICAgICAgZys9dGFiW2ldW2pdKycwJzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBmb3IoaW50IGk9MDtpPG47KytpKXsKICAgICAgICAgICAgZm9yKGludCBqPTA7ajxtOysrail7CiAgICAgICAgICAgICAgICBpZihqPT0wJiZpIT0wJiZpIT1uLTEpewogICAgICAgICAgICAgICAgICAgIGcrPXRhYltpXVtqXSsnMCc7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgaW50IHg9bioyKyhtLTIpKjI7CiAgICAgICAgY2hhciBkeD1nWzBdOwogICAgICAgIGcuaW5zZXJ0KHgsMSxkeCk7CiAgICAgICAgZy5lcmFzZSgwLDEpOwogICAgICAgIGludCBoPTA7CiAgICAgICAgZm9yKGludCBpPTA7aTxuOysraSl7CiAgICAgICAgICAgIGZvcihpbnQgaj0wO2o8bTsrK2opewogICAgICAgICAgICAgICAgaWYoaT09MCl7CiAgICAgICAgICAgICAgICAgICAgdGFiW2ldW2pdPWdbaF07CiAgICAgICAgICAgICAgICAgICAgaCsrOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGZvcihpbnQgaT0wO2k8bjsrK2kpewogICAgICAgICAgICBmb3IoaW50IGo9MDtqPG07KytqKXsKICAgICAgICAgICAgICAgIGlmKGo9PW0tMSYmaSE9MCYmaSE9bi0xKXsKICAgICAgICAgICAgICAgICAgICB0YWJbaV1bal09Z1toXTsKICAgICAgICAgICAgICAgICAgICBoKys7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgZm9yKGludCBpPW4tMTtpPjA7LS1pKXsKICAgICAgICAgICAgZm9yKGludCBqPW0tMTtqPjA7LS1qKXsKICAgICAgICAgICAgICAgIGlmKGk9PW4tMSl7CiAgICAgICAgICAgICAgICAgICAgdGFiW2ldW2pdPWdbaF07CiAgICAgICAgICAgICAgICAgICAgaCsrOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGZvcihpbnQgaT1uLTE7aT49MDstLWkpewogICAgICAgICAgICBmb3IoaW50IGo9bS0xO2o+PTA7LS1qKXsKICAgICAgICAgICAgICAgIGlmKGo9PTAmJmkhPTApewogICAgICAgICAgICAgICAgICAgIHRhYltpXVtqXT1nW2hdOwogICAgICAgICAgICAgICAgICAgIGgrKzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBmb3IoaW50IGk9MDtpPG47KytpKXsKICAgICAgICAgICAgZm9yKGludCBqPTA7ajxtOysrail7CiAgICAgICAgICAgICAgICBpZihqIT0wJiZpIT0wJiZpIT1uLTEmJmohPW0tMSl7CiAgICAgICAgICAgICAgICAgICAgdGFiW2ldW2pdKz0nMCc7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgZm9yKGludCBpPTA7aTxuOysraSl7CiAgICAgICAgICAgIGZvcihpbnQgaj0wO2o8bTsrK2opewogICAgICAgICAgICAgICAgaWYoaj09bS0xJiZpIT1uLTEpcHJpbnRmKCIlZFxuIix0YWJbaV1bal0tJzAnKTsKICAgICAgICAgICAgICAgIGVsc2UgcHJpbnRmKCIlZCAiLHRhYltpXVtqXS0nMCcpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHByaW50ZigiXG4iKTsKICAgIH0KICAgIHJldHVybiAwOwp9