#include <bits/stdc++.h>
using namespace std;
const int MOD = 998244353;
const int N = 500;
int dp[2][N + 5][N + 5];
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  int n, k;
  cin >> n >> k;
  dp[1][1][1] = 2;
  int i, j, d;
  for (i = 1; i < n; i++) {
    int prev = i & 1;
    int next = prev ^ 1;
    memset(dp[next], 0, sizeof(dp[next]));
    for (j = 1; j <= n; j++) {
      for (d = 1; d <= n; d++) {
        (dp[next][j + 1][max(j + 1, d)] += dp[prev][j][d]) %= MOD;
        (dp[next][1][d] += dp[prev][j][d]) %= MOD;
      }
    }
  }
  vector<int> a;
  a.push_back(0);
  for (i = 1; i <= n; i++) {
    int total = 0;
    for (j = 1; j <= n; j++) {
      (total += dp[n & 1][j][i]) %= MOD;
    }
    a.push_back(total);
  }
  vector<int> sum = a;
  for (i = 1; i < sum.size(); i++) {
    (sum[i] += sum[i - 1]) %= MOD;
  }
  int ans = 0;
  for (i = 1; i <= n && i < k; i++) {
    (ans += ((long long)(a[i]) * (long long)(sum[min(n, k / i)])) % MOD) %= MOD;
  }
  ans = ((long long)ans * (long long)((MOD + 1) / 2)) % MOD;
  cout << ans;
  return 0;
}
