#include <bits/stdc++.h>
using namespace std;
const int maxn = 507;
const int mod = 998244353;
int k;
int cal(int x) {
  if (k % x) return k / x;
  return k / x - 1;
}
long long dp[2][maxn][maxn], f[maxn], sum[maxn];
int main() {
  int n;
  scanf("%d%d", &n, &k);
  dp[1][1][1] = 1;
  for (int i = 2; i <= n; i++)
    for (int len = 1; len <= min(n, k); len++) {
      for (int j = 1; j <= len; j++) {
        long long cur = 0;
        bool f = !(i & 1);
        if (j == 1) {
          for (int p = 1; p <= len; p++) cur += dp[f][len][p];
        } else if (j == len)
          cur = dp[f][len][j - 1] + dp[f][len - 1][j - 1];
        else
          cur = dp[f][len][j - 1];
        if (cur > mod) cur %= mod;
        dp[i & 1][len][j] = cur;
      }
    }
  for (int i = 1; i <= n; i++) {
    for (int j = 1; j <= i; j++) f[i] += dp[n & 1][i][j];
    if (f[i] > mod) f[i] %= mod;
    sum[i] = sum[i - 1] + f[i];
    if (sum[i] > mod) sum[i] -= mod;
  }
  long long ans = 0;
  for (int i = 1; i <= min(k, n); i++)
    ans = (ans + f[i] * sum[min(n, cal(i))]) % mod;
  cout << ans * 2 % mod;
  return 0;
}
