#include <bits/stdc++.h>
using namespace std;
int n, k;
int dp[503], qtd[503 * 503], mod = (998244353LL), ans;
int suf[503], save[503 * 503];
inline int solve(int i, int q) {
  if (save[q] != -1) return save[q];
  dp[n + 1] = 1;
  suf[n + 1] = 1;
  for (int i = n; i >= 1; i--) {
    int j = min(n + 1, i + q);
    dp[i] = (suf[i + 1] - suf[j + 1]) % mod;
    suf[i] = (suf[i + 1] + dp[i]) % mod;
  }
  return save[q] = dp[1];
}
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  cin >> n >> k;
  long long ant = 0;
  memset(save, -1, sizeof save);
  for (int i = 1; i <= k; i++) {
    qtd[i] = (2 * solve(1, i) - 2 * ant) % mod;
    ant = dp[1];
    qtd[i] = (mod + qtd[i]) % mod;
  }
  for (int i = 1; i <= k; i++) {
    int d = (k % i == 0 ? k / i - 1 : k / i);
    if (d <= 0) continue;
    ans = (ans + (long long)solve(1, d) * (long long)qtd[i]) % mod;
  }
  cout << (mod + ans) % mod << "\n";
}
