#include <iostream>
#include <fstream>

using namespace std;

#define in cin
//ifstream in("4473.txt");

int main()
{
    int n, r, c, k;
    int mat[100][100][2];   // tengo 2 matrices para ir moviendo de una a otra

    while (in >> n >> r >> c >> k && n != 0)
    {
        for (int i = 0; i < r; i++)
            for (int j = 0; j < c; j++)
                in >> mat[i][j][0];     // siempre empiezo en la matriz 0

        for (int w = 0; w < k; w++) // por cada batalla
            for (int i = 0; i < r; i++) // por cada casilla
                for (int j = 0; j < c; j++)
                {
                    bool t = w % 2; // si la batalla es par, leo la matriz 0 y escribo en la 1
                    int enemy = (mat[i][j][t] - 1 + n) % n; // nro que me puede invadir
                    if (i > 0 && mat[i-1][j][t] == enemy)
                    {
                        mat[i][j][!t] = mat[i-1][j][t];
                        continue;
                    }
                    if (j > 0 && mat[i][j-1][t] == enemy)
                    {
                        mat[i][j][!t] = mat[i][j-1][t];
                        continue;
                    }
                    if (i < r-1 && mat[i+1][j][t] == enemy)
                    {
                        mat[i][j][!t] = mat[i+1][j][t];
                        continue;
                    }
                    if (j < c-1 && mat[i][j+1][t] == enemy)
                    {
                        mat[i][j][!t] = mat[i][j+1][t];
                        continue;
                    }
                    mat[i][j][!t] = mat[i][j][t];
                }

        bool t = k % 2; // imprimo
        for (int i = 0; i < r; i++)
        {
            cout << mat[i][0][t];
            for (int j = 1; j < c; j++)
                cout << " " << mat[i][j][t];
            cout << endl;
        }
    }
    return 0;
}

