#include<iostream>
#include<stdlib.h>
using namespace std;
int ans=0;
struct{
int row,col;
}s[1000];
int n,m;
int az[4]={-2,-1,1,2},ah[4]={1,2,2,1};
void chess(int p){
int i,j,k,l;
if(s[p].row==1&&s[p].col==m){
ans++;
}
else{
for(i=0;i<4;i++){
s[p+1]=s[p];
s[p+1].col+=ah[i];
s[p+1].row+=az[i];
if(s[p+1].col<=m&&s[p+1].row<=n&&s[p+1].row>0){
chess(p+1);
}
}
}
}
int main(){
cin>>n>>m;
s[1].row=n;
s[1].col=1;
chess(1);
cout<<ans;
}
用的dfs