```
#include<iostream>
using namespace std;const int N=25;
int dx[8]={1,1,-1,-1,2,2,-2,-2};
int dy[8]={2,-2,2,-2,1,-1,1,-1};
int map[N][N];
long long dp[N][N];
int main()
{
int a,b,x,y;
cin>>x>>y;
cin>>a>>b;
map[a][b]=1;
for(int i=0;i<8;i++)
if(a+dx[i]>=0&&b+dy[i]>=0)
map[a+dx[i]][b+dy[i]]=1;
dp[0][0]=1;
for(int i=1;i<=x&&map[i][0]!=1;i++)
dp[i][0]=1;
for(int j=1;j<=y&&map[0][j]!=1;j++)
dp[0][j]=1;
for(int i=1;i<=x;i++)
for(int j=1;j<=y;j++)
{
if(map[i][j]!=1)
dp[i][j]=dp[i-1][j]+dp[i][j-1];
else
dp[i][j]=0;
}
cout<<dp[x][y];
return 0;
}
```