#include<bits/stdc++.h>
#define r register
using namespace std;
const int maxn=9+5;
int n,c,ans;
bool chess[maxn][maxn];
void dfs(r int i,r int j,r int k) {
if(i>n) {
if(k==c) ++ans;
return;
}
if(k + ( (n-j+1+1)/2 ) + ( ((n+1)/2) * ((n-i+1)/2) ) < c) return;
chess[i][j]=0;
if(j+1>n) dfs(i+1,1,k);
else dfs(i,j+1,k);
chess[i][j]=1;chess[i][j+1]=0;
if(chess[i-1][j-1]||chess[i-1][j]||chess[i-1][j+1]) return;
if(j+2>n) dfs(i+1,1,k+1);
else dfs(i,j+2,k+1);
}
int main() {
scanf("%d%d",&n,&c);
dfs(1,1,0);
printf("%d",ans);
return 0;
}