#include <bits/stdc++.h>
using namespace std;
int main(void) {
  int n, t;
  cin >> n >> t;
  float v[n][n];
  memset(v, (0), sizeof v);
  v[0][0] = t;
  while (t--) {
    int e = 0;
    for (int i = 0; i < n; i++) {
      for (int j = 0; j <= i; j++) {
        if (i == 0) {
        } else {
          if (j == 0) {
            if (v[i - 1][j] >= 1)
              v[i][j] = (v[i - 1][j] - 1) / 2;
            else
              v[i][j] = 0;
          } else if (j == i)
            if (v[i - 1][j - 1] >= 1)
              v[i][j] = (v[i - 1][j - 1] - 1) / 2;
            else
              v[i][j] = 0;
          else {
            if (v[i - 1][j] < 1)
              v[i][j] = ((v[i - 1][j - 1] - 1) / 2);
            else if (v[i - 1][j - 1] < 1)
              v[i][j] = ((v[i - 1][j] - 1) / 2);
            else if (v[i - 1][j - 1] < 1 && v[i - 1][j] < 1)
              v[i][j] = 0;
            else
              v[i][j] = ((v[i - 1][j - 1] - 1) / 2 + (v[i - 1][j] - 1) / 2);
          }
        }
      }
    }
  }
  int ans = 0;
  for (int i = 0; i < n; i++) {
    for (int j = 0; j <= i; j++) {
      if (v[i][j] >= 1) ans++;
    }
  }
  cout << ans << endl;
  return 0;
}
