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