#include <bits/stdc++.h>
using namespace std;
bool ge(long double a) {
  if (a >= 1.0) return true;
  return false;
}
int main() {
  int timer;
  timer = 1;
  while (timer--) {
    long long n, i, j, t;
    cin >> n >> t;
    vector<long double> v1, v2;
    long long ans = 0;
    v1.push_back(0.0);
    v1.push_back(t * 1.0);
    v1.push_back(0.0);
    bool fv1 = true;
    while (n--) {
      if (fv1) {
        fv1 = false;
        v2.clear();
        v2.push_back(0.0);
        for (i = 0; i < v1.size(); ++i) {
          if (ge(v1[i])) ans++;
          v1[i]--;
        }
        for (i = 1; i < v1.size(); ++i) {
          long double sum = 0;
          if (v1[i] > 0.0) sum += v1[i];
          if (v1[i - 1] > 0.0) sum += v1[i - 1];
          v2.push_back(sum / 2);
        }
        v2.push_back(0.0);
      } else {
        fv1 = true;
        v1.clear();
        v1.push_back(0.0);
        for (i = 0; i < v2.size(); ++i) {
          if (ge(v2[i])) ans++;
          v2[i]--;
        }
        for (i = 1; i < v2.size(); ++i) {
          long double sum = 0;
          if (v2[i] > 0.0) sum += v2[i];
          if (v2[i - 1] > 0.0) sum += v2[i - 1];
          v1.push_back(sum / 2);
        }
        v1.push_back(0.0);
      }
    }
    cout << ans << "\n";
  }
}
