#include <bits/stdc++.h>
using namespace std;
const long long mo = 998244353;
const int e = 510;
int n, m;
long long da(long long t1, long long t2) { return t1 < t2 ? t2 : t1; }
long long dp[2][e][e];
long long cnt[e];
int main() {
  scanf("%d%d", &n, &m);
  dp[0][0][0] = 1;
  for (int i = 1; i <= n; i++) {
    int now = i % 2;
    int las = now ^ 1;
    memset(dp[now], 0, sizeof(dp[now]));
    dp[now][1][1] = 1;
    for (int j = 2; j <= i; j++) {
      dp[now][j][j] += (dp[las][j - 1][j - 1] + dp[las][j - 1][j]) % mo;
      dp[now][j][j] %= mo;
      for (int t = 1; t <= j; t++)
        dp[now][1][j] += dp[las][t][j], dp[now][1][j] %= mo;
      for (int k = j + 1; k <= i; k++) {
        dp[now][j][k] += dp[las][j - 1][k];
        dp[now][j][k] %= mo;
      }
    }
  }
  for (int i = 1; i <= n; i++) {
    int now = n % 2;
    for (int j = 1; j <= i; j++) {
      cnt[i] += dp[now][j][i];
      cnt[i] %= mo;
    }
  }
  long long ans = 0;
  for (int i = 1; i <= n; i++) {
    for (int j = 1; j <= n; j++) {
      if (i * j < m) {
        ans += (cnt[i] * cnt[j]) % mo;
        ans %= mo;
      }
    }
  }
  ans *= 2;
  ans %= mo;
  printf("%lld", ans);
  return 0;
}
