#include <bits/stdc++.h>
using namespace std;
const double pi = acos(-1);
const int N = 252, mod = 998244353, M = 2e9;
const long long MAX = 5e18;
int n, k, dp[501][251][251], dpx[501][501][2], dp2[501][501], mx[501];
int moding(long long x) {
  if (x >= mod) x %= mod;
  return x;
}
int clc(int i, int s, int mxv) {
  if (s > mxv) return 0;
  if (i == n) return 1;
  int& ret = dp2[i][s];
  if (~ret) return ret;
  return ret = moding(clc(i + 1, s + 1, mxv) + clc(i + 1, 1, mxv));
}
int& val(int i, int mx, int s) {
  if (mx > 250) return dpx[i][mx][s == mx];
  return dp[i][mx][s];
}
int slv(int i = 1, int mxv = 1, int s = 1) {
  if (i == n) return mx[mxv];
  int& ret = val(i, mxv, s);
  if (~ret) return ret;
  return ret = moding(slv(i + 1, max(mxv, s + 1), s + 1) + slv(i + 1, mxv, 1));
}
int main() {
  memset(dp, -1, sizeof dp);
  memset(dpx, -1, sizeof dpx);
  cin >> n >> k;
  for (int i = 1; i <= n; i++) {
    memset(dp2, -1, sizeof dp2);
    mx[i] = moding(clc(1, 1, k / i - (k % i == 0)) * 2);
  }
  cout << slv();
  return 0;
}
