#include <bits/stdc++.h>
using namespace std;
double c[20][50];
int ans = 0;
int n, t;
void fill_(int x, int y, double quant) {
  if (x == n) return;
  if (c[x][y] < 1 - 1e-6) {
    if (c[x][y] + quant >= 1 - 1e-6) {
      ans++;
      quant -= (1 - c[x][y]);
      c[x][y] = 1;
    } else
      c[x][y] += quant;
  }
  if (1 - c[x][y] <= 1e-6) c[x][y] = 1;
  if (c[x][y] >= 1 && quant >= 1e-6) {
    fill_(x + 1, y - 1, quant / 2);
    fill_(x + 1, y + 1, quant / 2);
  }
}
int main() {
  scanf("%d %d", &n, &t);
  for (int i = 1; i <= t; i++) {
    fill_(0, 30, 1);
    if (ans >= n * (n + 1) / 2) break;
  }
  printf("%d\n", min(ans, n * (n + 1) / 2));
  return 0;
}
