#include <bits/stdc++.h>
#define MAX 50
using namespace std;

//上下反转 
void Topfilp(int (&data)[6][6],int x,int y,int size){
	for(int i = 0; i < size /2; i++){	//翻转次数控制 
		for(int j = y; j <= y + size -1; j++){	//控制列 
			swap(data[x + i][j] , data[x + size -1 - i][j]);
		}
	}
}

//左右反转 
void Leftfilp(int (&data)[6][6],int x,int y,int size){
	for(int i = 0; i < size / 2; i++){	//翻转次数控制  
		for(int j = x; j <= x + size -1; j++){	//控制行 
			swap(data[j][y + i],data[j][y + size -1 -i]);
		}
	}
}

//对称反转 
void DuiCheng(int (&data)[6][6],int x,int y,int size){
	
	for(int i = 0; i <= size - 1; i++){
		for(int j = i + 1; j <= size - 1; j++){
			swap(data[x + i][y + j],data[x + j][y + i]);
		}
	}
}

void Print(int data[6][6]){
	for(int i = 1; i <= 5; i++){
		for(int j = 1;j <= 5; j++){
			cout<<data[i][j]<<" ";
		} 
		cout<<endl;
	}
}

int main(){
	int data[6][6],i,j; 
	for(i = 1; i <= 5; i++){
		for(j = 1;j <= 5; j++){
			cin>>data[i][j];
		} 
	}
	
	int a,b,x,y;
	cin>>a>>b>>x>>y;
	if(a == 1 && b == 2){
		Topfilp(data,x,y,2);
		DuiCheng(data,x,y,2);
	}else if(a == 1 && b == 3){
		Topfilp(data,x,y,3);
		DuiCheng(data,x,y,3);
	}else if(a == 2 && b == 2){
		Leftfilp(data,x,y,2);
		DuiCheng(data,x,y,2);
	}else if(a == 2 && b == 3){
		Leftfilp(data,x,y,3);
		DuiCheng(data,x,y,3);
	}
	Print(data);

}