#include<bits/stdc++.h>
#define x first
#define y second
using namespace std;

const int N=20;
int dx[4]={1,1,2,2},dy[4]={2,-2,1,-1};
int n,m,cnt;

void dfs(int x,int y)
{
    //到达终点就方案数+1
   if(x==n&&y==m)
   {
       cnt++;
       return ;
       //出界了就return
   }else if(x>n||x<1||y>m||y<1){
       return ;
   }
    //从(1,1)点开始走,如果出界了,就回溯从刚好没出界的地方继续走
    for(int i=0;i<4;i++)
        dfs(x+dx[i],y+dy[i]);
}

int main()
{
    //输入
    cin>>m>>n;
    //核心
    dfs(1,1);
    //输出
    cout<<cnt;
}