#include <bits/stdc++.h>
using namespace std;
inline long long pow(long long x, long long k, long long s = 1) {
  for (; k; x = x * x % 998244353, k >>= 1) k& 1 ? s = s * x % 998244353 : 0;
  return s;
}
int n, m;
long long f[510][510], s[510][510], A = 0;
int main() {
  scanf("%d%d", &n, &m);
  if (m == 1) return 0 & puts("0");
  for (int i = 1; i <= n; ++i) {
    f[i][0] = 1;
    for (int j = 1; j <= n; ++j)
      for (int k = j - 1; k > j - i - 1; --k)
        f[i][j] = (f[i][j] + f[i][k]) % 998244353;
    for (int j = 1; j <= n; ++j) f[i][j] = f[i][j] * 2ll % 998244353;
  }
  memset(s, 0, sizeof s);
  for (int L = 1; L <= min(n, m); ++L) {
    int t = (m - 1) / L;
    t = min(t, n);
    A = (A +
         (f[L][n] - f[L - 1][n] + 998244353) * (long long)f[t][n] % 998244353) %
        998244353;
  }
  printf("%lld\n", A * pow(2, 998244353 - 2) % 998244353);
}
