#include <bits/stdc++.h>
using namespace std;
int n;
long long int Pow[505];
long long int dp[505][505];
long long int e[505];
int main() {
  long long int n, k;
  scanf("%I64d %I64d", &n, &k);
  Pow[0] = 1;
  for (int i = 1; i < 505; i++) Pow[i] = (Pow[i - 1] * 2) % 998244353;
  for (int j = 0; j <= n; j++) dp[0][j] = 2;
  for (int i = 1; i <= n; i++) {
    for (int j = 1; j <= n; j++) {
      if (j >= i)
        dp[i][j] = Pow[i];
      else if (j == i - 1)
        dp[i][j] = Pow[i] - 2;
      else
        dp[i][j] = dp[i - 1][j] * 2 - dp[i - j - 1][j];
      dp[i][j] %= 998244353;
    }
  }
  for (int j = 1; j <= n; j++) e[j] = dp[n][j] - dp[n][j - 1];
  long long int Ans = 0;
  for (int i = 1; i <= n; i++) {
    long long int xx = i;
    long long int yy = (k / i) - (k % i == 0);
    yy = min(yy, n);
    Ans += (dp[n][yy] * e[xx]) % 998244353;
    Ans %= 998244353;
  }
  Ans = (Ans + 998244353) % 998244353;
  if (Ans % 2 == 1) Ans += 998244353;
  Ans = Ans / 2;
  cout << Ans << endl;
}
