#include <bits/stdc++.h>
using namespace std;
const int N = 510, P = 998244353;
inline void add(long long &x, long long y) { ((x += y) >= P) ? (x -= P) : 0; }
int n, m, k;
long long dp[2][N][N], sum[N], sum2[N];
int main() {
  int i, j, l;
  scanf("%d%d", &n, &k);
  int now = 0, pre = 1;
  memset(dp, 0, sizeof(dp));
  dp[0][1][1] = 1;
  for (i = 1; i < n; i++) {
    pre = now;
    now = now ^ 1;
    for (j = 1; j <= n; j++)
      for (l = 1; l <= n; l++) dp[now][j][l] = 0;
    for (j = 1; j <= n; j++) {
      for (l = 1; l <= j; l++) {
        add(dp[now][((j > l + 1) ? j : l + 1)][l + 1], dp[pre][j][l]);
        add(dp[now][j][1], dp[pre][j][l]);
      }
    }
  }
  memset(sum, 0, sizeof(sum));
  memset(sum2, 0, sizeof(sum2));
  for (i = 1; i <= n; i++) {
    for (j = 1; j <= i; j++) add(sum[i], dp[now][i][j]);
    add(sum2[i], (sum2[i - 1] + sum[i]) % P);
  }
  long long ans = 0;
  for (i = 1; i <= n; i++) {
    add(ans,
        ((long long)sum[i] * sum2[((n < (k - 1) / i) ? n : (k - 1) / i)]) % P);
  }
  add(ans, ans);
  printf("%I64d\n", ans);
  return 0;
}
