//为什么我把N设为9||10||11就会wa,它的范围不是小于等于9的吗哭
#include<iostream>
#include<cstring>
using namespace std;
#define int long long
const int N=12;
int F[N][1<<N][N*N];
int n,m;
int get_count(int x){
return __builtin_popcount(x);
}
bool check1(int x){
for(int i=0;i+1<n;i++){
if(x&1<<i&&x&1<<(i+1))return false;
}
return true;
}
bool check2(int y,int x){
for(int i=0;i<n;i++){
if(y&1<<i){
if(x&1<<i)return false;
else if(i+1<n&&x&1<<(i+1))return false;
else if(i-1>=0&&x&1<<(i-1))return false;
}
}
return true;
}
signed main()
{
cin>>n>>m;
for(int a=0;a<(1<<n);a++)F[0][a][get_count(a)]=1;
for(int i=1;i<n;i++){
for(int a=0;a<(1<<n);a++){
if(!check1(a))continue;
for(int j=get_count(a);j<=m*m;j++){
for(int b=0;b<(1<<n);b++){
if(!check1(b)||!check2(a,b))continue;
F[i][a][j]+=F[i-1][b][j-get_count(a)];
}
}
}
}
int ans=0;
for(int a=0;a<(1<<n);a++){
ans+=F[n-1][a][m];
}
cout<<ans;
}