#include <bits/stdc++.h>
int main() {
  long long n, k, mod = 998244353, result = 0, two_inv_mod = 499122177;
  std::cin >> n >> k;
  std::vector<long long> A(n + 1), B(n + 1);
  for (long long i = 1; i <= k && i <= n; i++) {
    A[0] = 1;
    A[1] = 1;
    for (long long m = 2; m <= i && m <= n; m++) A[m] = (2 * A[m - 1]) % mod;
    for (long long m = i + 1; m <= n; m++)
      A[m] = (2 * A[m - 1] - A[m - i - 1] + mod) % mod;
    B[i] = (2 * A[n]) % mod;
  }
  for (long long m = 1; m < k && m <= n; m++)
    for (long long p = 1; p < k && p <= n && m * p < k; p++) {
      result =
          (result + (B[m] - B[m - 1] + mod) * (B[p] - B[p - 1] + mod)) % mod;
    }
  std::cout << (result * two_inv_mod) % mod << "\n";
  return 0;
}
