#include <bits/stdc++.h>
using namespace std;
int i, j, k, n, m, x, y, t, f[2][501][501], g[501];
static const int mod = 998244353;
static const int inv = 499122177;
void add(int &x, int y) {
  x += y;
  if (x >= mod) x -= mod;
  if (x < 0) x += mod;
}
int main() {
  scanf("%d%d", &n, &m);
  int ans = 0;
  f[1][1][1] = 2;
  for (i = 1; i < n; i++) {
    memset(f[i + 1 & 1], 0, sizeof f[i + 1 & 1]);
    for (j = 1; j <= n; j++)
      for (k = 1; k <= j; k++) {
        if (f[i & 1][j][k]) {
          if (k + 1 <= n) {
            add(f[i + 1 & 1][max(j, k + 1)][k + 1], f[i & 1][j][k]);
          }
          add(f[i + 1 & 1][j][1], f[i & 1][j][k]);
        }
      }
  }
  for (i = 1; i <= n; i++)
    for (j = 1; j <= i; j++) add(g[i], f[n & 1][i][j]);
  for (i = 1; i <= n; i++)
    for (j = 1; j <= n; j++)
      if (i * j < m) add(ans, 1ll * g[i] * g[j] % mod);
  printf("%lld\n", 1ll * ans * inv % mod);
  return 0;
}
