#include <bits/stdc++.h>
#define int long long
using namespace std;
int n, k, dp[9][1<<9][90];
int ans;
inline int c(int st){
int cnt=0;
while(st){
if(st % 2)cnt++;
st/=2;
}
return cnt;
}
bool check1(int st){
for(int i = 1; i + 1 < n; i++){
if(st & (1 << i) && (st & (1 << (i + 1)))){
return false;
}
}
return true;
}
bool check2(int st, int st2){
for(int i = 1; i < n; i++){
if(st & (1 << i)){
if(st2 & (1 << i)) return false;
else if(i + 1 < n && st2 & (1 << (i+1))) return false;
else if(i - 1 < n && (st2 & (1 << (i - 1)))) return false;
}
}
return true;
}
signed main(){
cin>>n>>k;
for(int i = 1; i < n; i++){
for(int st = 1; st < (1 << n); st++){
if(!check1(st))continue;
if(i == 0) dp[i][st][c(st)] = 1;
else{
for(int j = c(st); j <= k; j++){
for(int st2 = 1; st < (1 << n); st2++){
if(!check1(st2) || !check2(st, st2)){
continue;
}
dp[i][st][j]=dp[i-1][st2][j-c(st)];
}
}
}
}
}
for(int st = 0; st < (1 << n); st++){
ans+=dp[n-1][st][k];
}
cout<<ans<<"\n";
return 0;
}