#include <bits/stdc++.h>
using namespace std;
const long long N = 502;
const long long mod = 119 << 23 | 1;
void add(long long &a, long long b) {
  a += b;
  if (a < 0) a += mod;
  if (a > mod) a -= mod;
}
long long qpow(long long a, long long exp) {
  long long ans = 1;
  while (exp) {
    if (exp & 1) ans = ans * a % mod;
    a = a * a % mod;
    exp >>= 1;
  }
  return ans;
}
long long f[N][N];
long long g[N][N], n, k;
signed main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  cin >> n >> k;
  g[0][0] = 1;
  for (long long i = 1; i <= n; ++i)
    for (long long j = 1; j <= n; ++j) {
      if (j >= i) {
        g[i][j] = qpow(2, i);
        continue;
      }
      for (long long k = 1; k <= min(i, j); ++k) add(g[i][j], g[i - k][j]);
    }
  for (long long i = 1; i <= n; ++i) f[0][i] = g[n][i];
  for (long long r = 1; r <= n; ++r)
    for (long long w = 1; w <= n; ++w)
      for (long long i = 1; i <= r; ++i)
        add(f[r][w], f[r - i][min(w, (k - 1) / i)]);
  cout << f[n][min(n, k - 1)] << endl;
}
