#include <bits/stdc++.h>
using namespace std;
int n, h;
unsigned long long dp[40][40];
unsigned long long numtrees(int n, int h) {
  if (h > n) {
    return 0;
  }
  if (dp[n][h] != -1) {
    return dp[n][h];
  }
  unsigned long long ans = 0;
  if (h == 0) {
    if (n == 0) {
      dp[n][h] = 1;
      return 1;
    }
    for (int i = 0; i < n; i++) {
      ans += numtrees(i, 0) * numtrees(n - 1 - i, 0);
    }
    dp[n][h] = ans;
    return ans;
  }
  for (int i = 0; i < n; i++) {
    ans += numtrees(i, h - 1) * numtrees(n - 1 - i, 0);
    ans += numtrees(i, 0) * numtrees(n - 1 - i, h - 1);
    ans -= numtrees(i, h - 1) * numtrees(n - 1 - i, h - 1);
  }
  dp[n][h] = ans;
  return ans;
}
int main() {
  ios_base::sync_with_stdio(false);
  for (int i = 0; i < 40; i++) {
    for (int j = 0; j < 40; j++) {
      dp[i][j] = -1;
    }
  }
  cin >> n >> h;
  cout << numtrees(n, h) << '\n';
  return 0;
}
