#include <bits/stdc++.h>
long long dp[40][40];
void compute_dp() {
  memset(dp, 0, sizeof(dp));
  dp[0][0] = 1;
  for (int n = 1; n <= 35; n++) {
    for (int h = 1; h <= 35; h++) {
      for (int i = 0; i < n; i++) {
        dp[n][h] += dp[i][h - 1] * dp[n - i - 1][0];
        dp[n][h] -= dp[i][h - 1] * dp[n - i - 1][h - 1];
        dp[n][h] += dp[i][0] * dp[n - i - 1][h - 1];
      }
    }
    dp[n][0] = dp[n][1];
  }
}
int main() {
  compute_dp();
  int n, h;
  scanf("%d %d", &n, &h);
  printf("%I64d\n", dp[n][h]);
  fflush(stdin);
  getchar();
}
