#include <fstream>
#include <iostream>
#include <vector>

using namespace std;

using Matrix = vector<vector<int>>;

ostream& operator<<(ostream& os, const vector<vector<int>>& mat) {
    for (int i = 0; i < mat.size(); ++i) {
        for (int j = 0; j < mat[i].size(); ++j) {
            os << mat[i][j] << " ";
        }
        os << endl;
    }
    return os;
}

class SubMatrix {
  public:
    SubMatrix(Matrix& mat, int row_start, int col_start, int size)
        : mat(mat), row_start(row_start), col_start(col_start), sz(size) {}

    int get(int row, int col) const {
        // cout << row << ", " << col << endl;
        // cout << row + row_start << ", " << col + col_start << endl;
        return mat[row + row_start][col + col_start];
    }

    void set(int row, int col, int val) {
        mat[row + row_start][col + col_start] = val;
    }

    int size() const {
        return sz;
    }

  private:
    Matrix& mat;
    int     row_start;
    int     col_start;
    int     sz;
};

// rotate the submatrix clockwise for 90deg
void rotate90(SubMatrix& submat) {
    int n = submat.size();
    for (int i = 0; i < n / 2; ++i) {
        for (int j = 0; j < n - i - 1; ++j) {
            int temp = submat.get(i, j);
            submat.set(i, j, submat.get(n - j - 1, i));
            submat.set(n - j - 1, i, submat.get(n - i - 1, n - j - 1));
            submat.set(n - i - 1, n - j - 1, submat.get(j, n - i - 1));
            submat.set(j, n - i - 1, temp);
        }
    }
}

// rotate the submatrix counterclockwise for 90deg
void rotate90c(SubMatrix& submat) {
    int n = submat.size();
    for (int i = 0; i < n / 2; ++i) {
        for (int j = 0; j < n - i - 1; ++j) {
            int temp = submat.get(i, j);
            submat.set(i, j, submat.get(j, n - i - 1));
            submat.set(j, n - i - 1, submat.get(n - i - 1, n - j - 1));
            submat.set(n - i - 1, n - j - 1, submat.get(n - j - 1, i));
            submat.set(n - j - 1, i, temp);
        }
    }
}

void print(const SubMatrix& submat) {
    for (int i = 0; i < submat.size(); ++i) {
        for (int j = 0; j < submat.size(); ++j) {
            cout << submat.get(i, j) << " ";
        }
        cout << endl;
    }
}

int main() {
    // ifstream input("input.txt");
    istream &input = cin;

    vector<vector<int>> matrix(5, vector<int>(5));
    for (int i = 0; i < 5; ++i) {
        for (int j = 0; j < 5; ++j) {
            input >> matrix[i][j];
        }
    }

    // cout << matrix << endl;

    int n = 0, m = 0, x1 = 0, y1 = 0;
    // 1 clockwise
    // 2 counterclockwise
    // 2 4 digits
    // 3 9 digits
    input >> n >> m >> x1 >> y1;
    x1 -= 1;
    y1 -= 1;

    int size = 0;
    if (m == 2) {
        size = 2;
    } else {
        size = 3;
    }

    void (*pfn)(SubMatrix&) = nullptr;
    if (n == 1) {
        pfn = &rotate90;
    } else {
        pfn = &rotate90c;
    }

    // cout << matrix << endl;

    SubMatrix submat(matrix, x1, y1, size);
    // print(submat);
    // cout << endl;

    pfn(submat);

    cout << matrix << endl;
}