#include <bits/stdc++.h>
using namespace std;
void operator+=(vector<int>& in1, const vector<int>& in2) {
  for (int i = 0; i < in2.size(); i++) in1.push_back(in2[i]);
}
const int maxn = 500 + 30;
const int maxL = 22;
const long long inf = 1e16;
const int mod = 998244353;
const int baze = 316;
int n, k;
int dp[maxn][maxn][2];
int32_t main() {
  ios_base::sync_with_stdio(false), cin.tie(0), cout.tie(0);
  cin >> n >> k;
  for (int i = 1; i < maxn; i++) dp[0][i][0] = 1;
  for (int i = 1; i < maxn; i++)
    for (int j = 1; j < maxn; j++)
      for (int l = 0; l <= min(i, j); l++)
        if (i == l) {
          if (l == j) dp[i][j][1] += 1, dp[i][j][1] %= mod;
          dp[i][j][0] += 1, dp[i][j][0] %= mod;
        } else {
          if (l == j)
            dp[i][j][1] += dp[i - l - 1][j][0], dp[i][j][1] %= mod;
          else
            dp[i][j][1] += dp[i - l - 1][j][1], dp[i][j][1] %= mod;
          dp[i][j][0] += dp[i - l - 1][j][0], dp[i][j][0] %= mod;
        }
  dp[n - 1][0][1] = 1;
  int ans = 0;
  for (int i = 0; i < n; i++)
    for (int j = 0; j < n; j++)
      if (((i + 1) * (j + 1)) < k)
        ans += (1LL * dp[n - 1][i][1] * dp[n - 1][j][1]) % mod, ans %= mod;
  cout << (ans * 2) % mod << endl;
}
