#include <bits/stdc++.h>
using namespace std;
int main(){
int W,S,X,Y,n;
cin>>W>>S;
cin>>X>>Y;
int dp[W+5][X+5]; //模具
int gx[X+5]={0}; //工序初始化
for(int i=0;i<W;i++){
for(int j=0;j<X;j++){
cin>>dp[i][j];
}
}
for(int i=0;i<S;i++){
for(int j=0;j<X;j++){
cin>>n;
gx[j]=n>gx[j]?n:gx[j]; //最大研磨深度
}
}
for(int i=0;i<W;i++){
for(int j=0;j<X;j++){
dp[i][j]=dp[i][j]>Y-gx[j]?Y-gx[j]:dp[i][j];
/*若当前模具在该位置的长度+研磨最深深度<定高,相当于没操作
否则该位置取定高-研磨最深深度*/
}
}
for(int i=0;i<W;i++){
for(int j=0;j<X;j++){
cout<<abs(dp[i][j])<<" ";
}
cout<<endl;
}
}