rt```c
#include<bits/stdc++.h>
#define CLOSE ios::sync_with_stdio(false);cin.tie(0);cout.tie(0)
using namespace std;
int n,m,x,y;
int a[410][410];
queue<pair<int,int> > q;
void bfs(int x,int y){
q.push({x,y});
a[x][y]=0;
int dx[8]={2,1,-2,-1,2,1,-2,-1},dy[8]={1,2,-1,-2,-1,-2,1,2};
while(!q.empty()){
pair<int,int> t = q.front();
q.pop();
for(int i=0;i<8;i++){
int u=t.first+dx[i],d=t.second+dy[i];
if(u>=1&&u<=m&&d>=1&&d<=n&&a[u][d]==-1){
a[u][d] = a[t.first][t.second]+1;
q.push({u,d});
}
}
}
}
int main(){
cin>>n>>m>>x>>y;
memset(a,-1,sizeof(a));
bfs(x,y);
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cout<<a[i][j]<<" ";
}
cout<<endl;
}
return 0;
}