#include <bits/stdc++.h>
#pragma target optimize("O3")
#pragma target GCC("sse4")
using namespace std;
int n, k, dp[((int)505)][((int)505)], prt[((int)505)][((int)505)];
int dp2[2][((int)505)][((int)505)], prt2[((int)505)][((int)505)];
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cin >> n >> k;
  dp[0][0] = 2;
  for (int i = 0; i < ((int)505); i++) prt[0][i] = 2;
  for (int i = 1; i <= n; i++) {
    for (int j = 1; j <= i; j++) {
      for (int k = 1; k < j; k++) {
        dp[i][j] += dp[i - k][j];
        if (dp[i][j] >= ((int)998244353)) dp[i][j] -= ((int)998244353);
      }
      dp[i][j] += prt[i - j][j];
      dp[i][j] %= ((int)998244353);
    }
    for (int j = 1; j < ((int)505); j++)
      prt[i][j] = (prt[i][j - 1] + dp[i][j]) % ((int)998244353);
  }
  dp2[0][0][0] = dp2[1][0][0] = 1;
  for (int i = 0; i < ((int)505); i++) prt2[0][i] = 1;
  for (int i = 1; i < n; i++) {
    for (int j = 0; j <= i; j++) {
      for (int k = 1; k < j; k++) {
        dp2[0][i][j] += dp2[1][i - k][j];
        if (dp2[0][i][j] >= ((int)998244353)) dp2[0][i][j] -= ((int)998244353);
      }
      if (j) dp2[0][i][j] += prt2[i - j][j];
      dp2[0][i][j] %= ((int)998244353);
      for (int k = 1; k <= i; k++) {
        dp2[1][i][j] += dp2[0][i - k][j];
        if (dp2[1][i][j] >= ((int)998244353)) dp2[1][i][j] -= ((int)998244353);
      }
    }
    prt2[i][0] = dp2[1][i][0];
    for (int j = 1; j < ((int)505); j++)
      prt2[i][j] = (prt2[i][j - 1] + dp2[1][i][j]) % ((int)998244353);
  }
  int ans = 0;
  for (int i = 1; i <= n; i++)
    for (int j = 0; j < n; j++)
      if (i * (j + 1) < k)
        ans += 1LL * dp[n][i] * (dp2[0][n - 1][j] + dp2[1][n - 1][j]) %
               ((int)998244353),
            ans %= ((int)998244353);
  cout << ans << "\n";
  return 0;
}
