#include <bits/stdc++.h>
using namespace std;
template <class T>
inline void OA(const T &a, const int &st, const int &ed) {
  if (ed >= st) cout << a[st];
  int i;
  for (i = (st + 1); i <= (ed); i++) cout << ' ' << a[i];
  puts("");
}
const double PI = acos(-1.0);
const double EPS = 1e-10;
inline int sgn(double &x) {
  if (fabs(x) < EPS) return 0;
  if (x < 0)
    return -1;
  else
    return 1;
}
const int INF = 0x3f3f3f3f;
const int NINF = 0x80000001;
const int MAXN = 111111;
const int MAXM = 33;
const int MOD = 1000000007;
int n, t;
int farm() {
  double a[20][20];
  int i, j;
  for (i = 0; i < (11); i++)
    for (j = 0; j < (11); j++) a[i][j] = 0.0;
  a[1][1] = t;
  int cnt = 0;
  for (i = (1); i <= (n); i++) {
    for (j = (1); j <= (i); j++) {
      if (a[i][j] > 1.0) {
        double t = (a[i][j] - 1.0) / 2.0;
        a[i + 1][j] += t;
        a[i + 1][j + 1] += t;
        a[i][j] = 1.0;
      }
      if (a[i][j] >= 1.0) cnt++;
    }
  }
  return cnt;
}
int main() {
  int i;
  scanf("%d%d", &n, &t);
  printf("%d\n", farm());
  ;
  return 0;
}
