#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using ull = unsigned long long;
using ld = long double;
using ii = pair<ll, ll>;
using vi = vector<ll>;
using vii = vector<ii>;
using vb = vector<bool>;
using vvi = vector<vi>;
using vvii = vector<vii>;
constexpr int INF = 1e9 + 1;
constexpr ll LLINF = 1e18 + 1;
constexpr ll MOD = 998244353LL;
int main() {
  ios::sync_with_stdio(false);
  cin.tie(nullptr);
  int n;
  cin >> n;
  vi parts(n + 1, 0LL);
  {
    vvi dp(n + 1, vi(n + 1, 0LL));
    for (int l = 1; l <= n; ++l) {
      ll rs = dp[0][l] = 1LL;
      for (int i = 1; i <= n; ++i) {
        if (i - l - 1 >= 0) rs = (MOD + rs - dp[i - l - 1][l]) % MOD;
        dp[i][l] = rs;
        rs = (rs + dp[i][l]) % MOD;
      }
    }
    for (int i = 1; i <= n; ++i) parts[i] = dp[n][i];
  }
  int k;
  cin >> k;
  ll ans = 0LL;
  for (int l = 1; l <= n; ++l) {
    ll hor = (MOD + parts[l] - parts[l - 1]) % MOD;
    ll ver = parts[min(n, (k + l - 1) / l - 1)];
    ans = (ans + hor * ver % MOD) % MOD;
  }
  cerr << "pre " << ans << endl;
  ans = (ans * 2LL) % MOD;
  cout << ans << endl;
  return 0;
}
