#include <bits/stdc++.h>
using namespace std;
int R,C,N,r,c;
int num[300][300];
int all[301]={};
int sub[301]={};
int nowN;
void recount(int lx, int ly){
for(int n=0;n<=N;n++)
sub[n]=0;
for(int dx=0;dx<r;dx++){
for(int dy=0;dy<c;dy++){
int color=num[lx+dx][ly+dy];
sub[color]+=1;
nowN-=sub[color]==all[color];
}
}
}
int main() {
int allN=0;
cin>>R>>C>>N>>r>>c;
for(int x=0;x<R;x++){
for(int y=0;y<C;y++){
cin>>num[x][y];
allN+=all[num[x][y]]==0;
all[num[x][y]]+=1;
}
}
for(int Lx=0;Lx<=R-r;Lx+=1){
//mask 對齊最左側時才需要重算
nowN=allN;
recount(Lx,0);
cout<<nowN;
for(int Ly=1;Ly<=C-c;Ly++){
//讓最左邊的一列露出來、最右邊的遮起來
for(int dx=0;dx<r;dx++){
int color =num[Lx+dx][Ly-1];
nowN+=sub[color]==all[color];
sub[color]-=1;
}
for(int dx=0; dx<r; dx+=1){
int color=num[Lx+dx][Ly+c-1];
sub[color]+=1;
nowN-= sub[color]==all[color];
}
cout<<" "<<nowN;
}
cout<<"\n";
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgUixDLE4scixjOwppbnQgbnVtWzMwMF1bMzAwXTsKaW50IGFsbFszMDFdPXt9OwppbnQgc3ViWzMwMV09e307CmludCBub3dOOwp2b2lkIHJlY291bnQoaW50IGx4LCBpbnQgbHkpewoJZm9yKGludCBuPTA7bjw9TjtuKyspCgkJc3ViW25dPTA7Cglmb3IoaW50IGR4PTA7ZHg8cjtkeCsrKXsKCQlmb3IoaW50IGR5PTA7ZHk8YztkeSsrKXsKCQkJaW50IGNvbG9yPW51bVtseCtkeF1bbHkrZHldOwoJCQlzdWJbY29sb3JdKz0xOwoJCQlub3dOLT1zdWJbY29sb3JdPT1hbGxbY29sb3JdOwoJCX0KCX0KfQoKaW50IG1haW4oKSB7CglpbnQgYWxsTj0wOwoJY2luPj5SPj5DPj5OPj5yPj5jOwoJZm9yKGludCB4PTA7eDxSO3grKyl7CgkJZm9yKGludCB5PTA7eTxDO3krKyl7CgkJCWNpbj4+bnVtW3hdW3ldOwoJCQlhbGxOKz1hbGxbbnVtW3hdW3ldXT09MDsKCQkJYWxsW251bVt4XVt5XV0rPTE7CgkJfQoJfQoJZm9yKGludCBMeD0wO0x4PD1SLXI7THgrPTEpewoJCS8vbWFzayDlsI3pvYrmnIDlt6blgbTmmYLmiY3pnIDopoHph43nrpcKCQlub3dOPWFsbE47CgkJcmVjb3VudChMeCwwKTsKCQljb3V0PDxub3dOOwoJCWZvcihpbnQgTHk9MTtMeTw9Qy1jO0x5KyspewoJCQkvL+iuk+acgOW3pumCiueahOS4gOWIl+mcsuWHuuS+huOAgeacgOWPs+mCiueahOmBrui1t+S+hgoJCQlmb3IoaW50IGR4PTA7ZHg8cjtkeCsrKXsKCQkJCWludCBjb2xvciA9bnVtW0x4K2R4XVtMeS0xXTsKCQkJCW5vd04rPXN1Yltjb2xvcl09PWFsbFtjb2xvcl07CgkJCQlzdWJbY29sb3JdLT0xOwoJCQl9CgkJCWZvcihpbnQgZHg9MDsgZHg8cjsgZHgrPTEpewoJCQkJaW50IGNvbG9yPW51bVtMeCtkeF1bTHkrYy0xXTsKCQkJCXN1Yltjb2xvcl0rPTE7CgkJCQlub3dOLT0gc3ViW2NvbG9yXT09YWxsW2NvbG9yXTsKCQkJfQoJCQljb3V0PDwiICI8PG5vd047CgkJfQoJCWNvdXQ8PCJcbiI7Cgl9CglyZXR1cm4gMDsKfQ==