#include <bits/stdc++.h>
using namespace std;
const long long mod = 998244353;
inline long long sum(long long a, long long b) { return (a + b) % mod; }
inline void add(long long& a, long long b) { a = sum(a, b); }
inline long long sub(long long a, long long b) {
  return (a - b + 2 * mod) % mod;
}
inline void dec(long long& a, long long b) { a = sub(a, b); }
inline long long mul(long long a, long long b) { return a * b % mod; }
static long long dp[500][500], pre_ans[500 + 1], pref_ans[500 + 1];
inline void calc_dp(int n, int max0) {
  memset(dp, 0, sizeof dp);
  dp[0][0] = 1;
  for (int i(0); i < n; ++i)
    for (int j(0); j <= min(i, max0); ++j) {
      add(dp[i + 1][j + 1], dp[i][j]);
      add(dp[i + 1][0], dp[i][j]);
    }
  for (int i(0); i <= max0; ++i) add(pref_ans[max0 + 1], dp[n][i]);
  pre_ans[max0 + 1] = sub(pref_ans[max0 + 1], pref_ans[max0]);
}
int main() {
  int n, k;
  cin >> n >> k;
  for (int i(0); i < n; ++i) calc_dp(n - 1, i);
  long long ans(0);
  for (int w(1); w <= n; ++w) {
    int h(min((k - 1) / w, n));
    add(ans, mul(pre_ans[w], pref_ans[h]));
  }
  cout << mul(ans, 2);
  return 0;
}
