#include <iostream>
using namespace std;
int main()
{
int t;
cin >> t;
for (int i = 0; i < t; i++)
{
const int wielkosc = 110;
int tablica[4][wielkosc];
int ilosc_kolun;
int ilosc_wierszy;
cin >> ilosc_wierszy >> ilosc_kolun;
int w = 0;
while (w<ilosc_wierszy)
{
for (int k = 0; k < ilosc_kolun; k++)
{
if (w == 0)
{
if (k == 0)
cin >> tablica[w + 1][k];
if (k>0)
cin >> tablica[w][k - 1];
}
if (w == 1)
{
if (k == 0)
cin >> tablica[w + 1][k];
if (k>0 && k<ilosc_kolun - 1)
cin >> tablica[w][k];
if (k == ilosc_kolun - 1)
cin >> tablica[w - 1][ilosc_kolun - 1];
}
if (w == 2)
{
if (k >= 0 && k<ilosc_kolun - 1)
cin >> tablica[w][k + 1];
if (k == ilosc_kolun - 1)
cin >> tablica[w - 1][k];
}
}
w++;
}
w = 0;
while (w<ilosc_wierszy)
{
for (int k = 0; k < ilosc_kolun; k++)
{
cout << tablica[w][k];
if (k<ilosc_kolun)
cout << " ";
}
w++;
cout << endl;
}
}
system("pause");
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKQp7CglpbnQgdDsKCWNpbiA+PiB0OwoJZm9yIChpbnQgaSA9IDA7IGkgPCB0OyBpKyspCgl7CgkJY29uc3QgaW50IHdpZWxrb3NjID0gMTEwOwoJCWludCB0YWJsaWNhWzRdW3dpZWxrb3NjXTsKCgkJaW50IGlsb3NjX2tvbHVuOwoJCWludCBpbG9zY193aWVyc3p5OwoKCQljaW4gPj4gaWxvc2Nfd2llcnN6eSA+PiBpbG9zY19rb2x1bjsKCgkJaW50IHcgPSAwOwoJCXdoaWxlICh3PGlsb3NjX3dpZXJzenkpCgkJewoJCQlmb3IgKGludCBrID0gMDsgayA8IGlsb3NjX2tvbHVuOyBrKyspCgkJCXsKCQkJCWlmICh3ID09IDApCgkJCQl7CgkJCQkJaWYgKGsgPT0gMCkKCQkJCQkJY2luID4+IHRhYmxpY2FbdyArIDFdW2tdOwoKCQkJCQlpZiAoaz4wKQoJCQkJCQljaW4gPj4gdGFibGljYVt3XVtrIC0gMV07CgkJCQl9CgoJCQkJaWYgKHcgPT0gMSkKCQkJCXsKCQkJCQlpZiAoayA9PSAwKQoJCQkJCQljaW4gPj4gdGFibGljYVt3ICsgMV1ba107CgoJCQkJCWlmIChrPjAgJiYgazxpbG9zY19rb2x1biAtIDEpCgkJCQkJCWNpbiA+PiB0YWJsaWNhW3ddW2tdOwoKCQkJCQlpZiAoayA9PSBpbG9zY19rb2x1biAtIDEpCgkJCQkJCWNpbiA+PiB0YWJsaWNhW3cgLSAxXVtpbG9zY19rb2x1biAtIDFdOwoJCQkJfQoKCQkJCWlmICh3ID09IDIpCgkJCQl7CgkJCQkJaWYgKGsgPj0gMCAmJiBrPGlsb3NjX2tvbHVuIC0gMSkKCQkJCQkJY2luID4+IHRhYmxpY2Fbd11bayArIDFdOwoKCQkJCQlpZiAoayA9PSBpbG9zY19rb2x1biAtIDEpCgkJCQkJCWNpbiA+PiB0YWJsaWNhW3cgLSAxXVtrXTsKCQkJCX0KCQkJfQoJCQl3Kys7CgkJfQoKCQl3ID0gMDsKCQl3aGlsZSAodzxpbG9zY193aWVyc3p5KQoJCXsKCQkJZm9yIChpbnQgayA9IDA7IGsgPCBpbG9zY19rb2x1bjsgaysrKQoJCQl7CgkJCQljb3V0IDw8IHRhYmxpY2Fbd11ba107CgkJCQlpZiAoazxpbG9zY19rb2x1bikKCQkJCQljb3V0IDw8ICIgIjsKCQkJfQoJCQl3Kys7CgkJCWNvdXQgPDwgZW5kbDsKCQl9Cgl9CgkKCXN5c3RlbSgicGF1c2UiKTsKCXJldHVybiAwOwp9