#include <bits/stdc++.h>
using namespace std;
const int mod = 998244353, inv_2 = mod + 1 >> 1;
inline void add(int &a, int b) {
  a += b;
  if (a >= mod) a -= mod;
}
inline int sub(int a, int b) {
  a -= b;
  return a < 0 ? a + mod : a;
}
inline int mul(long long a, int b) {
  a *= b;
  return a < mod ? a : a - a / mod * mod;
}
const int N = 505;
int dp[2][N][N];
int main() {
  int n, K;
  cin >> n >> K;
  memset(dp, 0, sizeof(dp));
  dp[1][1][1] = 2;
  for (int i = 2; i <= n; i++) {
    for (int j = 1; j <= i; j++) {
      for (int k = 1; k <= i; k++) {
        dp[(i & 1)][max(j, k + 1)][k + 1] =
            (dp[(i & 1)][max(j, k + 1)][k + 1] + dp[(i & 1) ^ 1][j][k]) % mod;
        dp[(i & 1)][j][1] = (dp[(i & 1)][j][1] + dp[(i & 1) ^ 1][j][k]) % mod;
      }
    }
    memset(dp[(i & 1) ^ 1], 0, sizeof(dp[0]));
  }
  int ans = 0;
  for (int i = 1; i <= n; i++) {
    for (int j = 1; j <= n; j++) {
      if (mul(i, j) < K) {
        int l = 0, r = 0;
        for (int k = 1; k <= n; k++) {
          add(l, dp[n % 2][i][k]);
          add(r, dp[n % 2][j][k]);
        }
        add(ans, mul(inv_2, mul(l, r)));
      }
    }
  }
  cout << ans << '\n';
  return 0;
}
