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