#include <bits/stdc++.h>
long long d[40][40];
long long solve(int n, int h) {
  long long &it = d[n][h];
  if (it != -1) return it;
  if (h == 0) return it = (n == 0);
  if (n == 1) return it = (h == 1);
  if (h == 1) return it = (n == 1);
  int i, j;
  it = 0;
  for (i = 1; i <= n; i++)
    for (j = 0; j < h; j++) it += solve(i - 1, h - 1) * solve(n - i, j);
  for (i = 1; i <= n; i++)
    for (j = 0; j + 1 < h; j++) it += solve(i - 1, j) * solve(n - i, h - 1);
  return it;
}
int main() {
  int n, h, i;
  long long ans = 0;
  scanf("%d%d", &n, &h);
  memset(d, -1, sizeof(d));
  while (h <= n) ans += solve(n, h++);
  printf("%lld\n", ans);
  return 0;
}
