#include <bits/stdc++.h>
#pragma GCC optimize(3)
using namespace std;
long long dp[501][501][2];
long long n;
long long y;
long long rec(long long i, long long k, long long p) {
  if (k < 0) {
    return 0;
  }
  if (i == n) {
    return 1;
  }
  long long &ans = dp[i][k][p];
  if (ans >= 0) {
    return ans;
  }
  ans = 0;
  ans += rec(i + 1, k - 1, p);
  ans += rec(i + 1, y - 1, !p);
  ans %= 998244353;
  return ans;
}
int32_t main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  ;
  long long k;
  cin >> n >> k;
  long long dpp[501];
  long long pv[501];
  dpp[1] = 1;
  pv[1] = 1;
  dpp[0] = pv[0] = 0;
  for (long long i = 2; i <= n; i++) {
    memset(dp, -1, sizeof(dp));
    y = i;
    dpp[i] = rec(1, i - 1, 0);
    pv[i] = (dpp[i] - dpp[i - 1] + 998244353) % 998244353;
  }
  long long ans = 0;
  for (long long i = 1; i <= n; i++) {
    long long j = k / i;
    if (k % i == 0) j--;
    if (j >= n) j = n;
    ans = (ans + (pv[i] * dpp[j])) % 998244353;
  }
  ans = (ans * 2) % 998244353;
  cout << ans;
  return 0;
}
