#include <bits/stdc++.h>
using namespace std;
int t, n, dp[4 + 2][4 + 2][10 + 5][10 + 5][20 + 5];
int solve(int prev, int me, int high, int low, int pos) {
  if (high == 0 && low == 0 && pos == n) {
    return 1;
  }
  if (pos == n || high < 0 || low < 0) return 0;
  if (dp[prev][me][high][low][pos] != -1) return dp[prev][me][high][low][pos];
  int ans = 0;
  for (int i = 1; i <= 4; i++) {
    if (i == me) continue;
    if (i > me) {
      if (prev > me) {
        ans += solve(me, i, high, low - 1, pos + 1);
      } else {
        ans += solve(me, i, high, low, pos + 1);
      }
    } else if (i < me) {
      if (prev < me) {
        ans += solve(me, i, high - 1, low, pos + 1);
      } else {
        ans += solve(me, i, high, low, pos + 1);
      }
    } else {
      ans += solve(me, i, high, low, pos + 1);
    }
  }
  return dp[prev][me][high][low][pos] = ans;
}
int main() {
  cin >> n >> t;
  memset(dp, -1, sizeof dp);
  int ans = 0;
  for (int i = 1; i <= 4; i++) {
    for (int j = 1; j <= 4; j++) {
      if (i == j) continue;
      ans += solve(i, j, t, t - 1, 2);
    }
  }
  cout << ans << endl;
}
