#include <bits/stdc++.h>
using namespace std;
const int MAXN = 1000 + 10;
const int mod = 998244353;
const int INF = 1e9 + 10;
const double EPS = 1e-8;
int n, m;
long long f[MAXN][MAXN];
long long power(long long a, long long b) {
  long long c = 1;
  while (b) {
    if (b % 2 == 1) c = c * a % mod;
    a = a * a % mod;
    b /= 2;
  }
  return c;
}
long long C(long long n, long long m) {
  if (n < 0 || m < 0 || n < m) return 0;
  return n * (n - 1) * (n - 2) / 6;
}
int main() {
  scanf("%d%d", &n, &m);
  memset(f, 0, sizeof(f));
  f[0][0] = 1;
  for (int i = 0; i < n; i++)
    for (int j = 0; j <= i; j++)
      for (int k = 1; k + i <= n; k++) {
        f[i + k][max(j, k)] += f[i][j];
        if (f[i + k][max(j, k)] >= mod) f[i + k][max(j, k)] -= mod;
      }
  long long ans = 0;
  for (int i = 1; i <= n; i++)
    for (int j = 1; j <= n && i * j < m; j++) {
      ans += f[n][i] * f[n][j] % mod;
      if (ans >= mod) ans -= mod;
    }
  ans = ((ans * 2) % mod + mod) % mod;
  printf("%lld\n", ans);
  return 0;
}
