#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using ull = unsigned long long;
using pii = pair<int, int>;
int mod(int a, int m) {
  a %= m;
  return a >= 0 ? a : a + m;
}
const int pmod = 998244353;
const int maxn = 500;
int k, n;
unsigned mem1[maxn][maxn + 2];
unsigned dp1(int x, int rep) {
  if (mem1[x][rep] == -1) {
    unsigned ans = 0;
    if (rep > k) {
      ans = 0;
    } else if (x == n - 1) {
      ans = 1;
    } else {
      ans = dp1(x + 1, 1) + dp1(x + 1, rep + 1);
    }
    mem1[x][rep] = ans % pmod;
  }
  return mem1[x][rep];
}
void solve() {
  int rk;
  cin >> n >> rk;
  if (rk == 1) {
    cout << 0 << endl;
    return;
  }
  vector<unsigned> withk(maxn + 1, 0);
  for (int i = 1; i <= n; ++i) {
    fill_n(&mem1[0][0], maxn * (maxn + 2), -1);
    k = i;
    withk[i] = dp1(0, 1);
  }
  for (int i = n; i > 0; --i) {
    withk[i] = mod((int)withk[i] - (int)withk[i - 1], pmod);
  }
  ull ans = 0;
  for (int k1 = 1; k1 <= n; k1++) {
    for (int k2 = 1; k2 <= n; k2++) {
      if (k1 * k2 < rk) {
        ans = (ans + (ull)withk[k1] * (ull)withk[k2] * 2) % pmod;
      }
    }
  }
  cout << ans << endl;
}
int main() {
  ios::sync_with_stdio(false);
  solve();
}
