#include<bits/stdc++.h>
using namespace std;
const int N=20;
int n,m,cnt;//n行m列别被坑了 找半天发现原来这里错了
void dfs(int a,int b){
    int dx[]={1,1,2,2},dy[]={2,-2,1,-1};
    if(a==m&&b==n){
        cnt++;
        return;
    }
   
    for(int i=0;i<4;i++){
        int x=a+dx[i],y=b+dy[i];
         if(x>=1&&y>=1&&x<=m&&y<=n)
              dfs(x,y);   
    }
        
}
int main(){
    cin>>n>>m;
    dfs(1,1);
    cout<<cnt;
    
    return 0;
}