```
#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;
}
```