#include <bits/stdc++.h>
long long n, h;
long long dp[40][40][40] = {0};
using namespace std;
long long pem(long long x, long long y) {
  long long i;
  long long t = 1;
  if (y > x / 2) {
    y = x - y;
  }
  for (i = 0; i < y; i++) {
    t *= (x - i);
  }
  for (i = 2; i <= y; i++) {
    t /= i;
  }
  return t;
}
int main() {
  long long i, j, k, ii;
  cin >> n >> h;
  dp[1][1][1] = 1;
  for (i = 1; i <= n; i++) {
    for (j = 1; j <= n; j++) {
      for (k = 1; k <= n; k++) {
        if (dp[i][j][k]) {
          for (ii = 1; ii <= 2 * k && j + ii <= n; ii++) {
            dp[i + 1][j + ii][ii] += pem(k * 2, ii) * dp[i][j][k];
          }
        }
      }
    }
  }
  long long res = 0;
  for (i = h; i <= n; i++) {
    for (k = 1; k <= n; k++) {
      res += dp[i][n][k];
    }
  }
  cout << res << endl;
  return 0;
}
