#include <bits/stdc++.h>
using namespace std;
long long f[505][505], g[505][505];
int n, K;
int main() {
  scanf("%d%d", &n, &K);
  for (int j = 1; j <= n; j++) {
    if (j != 1)
      g[j][1] = g[j - 1][1];
    else
      g[1][1] = 2;
    for (int k = 2; k <= n; k++) {
      g[j][k] = g[j - 1][k - 1];
      g[j][1] = (g[j][1] + g[j - 1][k]) % 998244353;
    }
  }
  for (int i = 1; i <= min(n, K - 1); i++) {
    for (int j = 1; j <= i; j++) f[1][i] = (f[1][i] + g[n][j]) % 998244353;
    f[1][i] = (f[1][i] - f[1][i - 1] + 998244353) % 998244353;
  }
  memset(g, 0, sizeof(g));
  for (int i = 1; i <= n; i++) g[1][i] = f[1][i];
  for (int i = 2; i <= n; i++) {
    int tmp = min(n, K - 1);
    for (int j = 1; j <= tmp; j++) {
      f[i][j] = (f[i - 1][j] * 2) % 998244353;
      g[i][j] = f[i - 1][j];
      int x = K / j;
      if (x * j < K) x++;
      if (i >= x) f[i][j] = (f[i][j] - g[i - x + 1][j] + 998244353) % 998244353;
    }
  }
  long long ans = 0;
  int tmp = min(n, K - 1);
  for (int i = 1; i <= tmp; i++) ans = (ans + f[n][i]) % 998244353;
  printf("%lld\n", (ans + 998244353) % 998244353);
}
