#include <bits/stdc++.h>
using namespace std;
using i64 = long long;
using u32 = size_t;
template <typename T>
inline T sqr(const T &a) {
  return a * a;
}
const int MOD = 998244353;
inline void madd(int &x, int delta) {
  x += (x + delta < MOD ? delta : delta - MOD);
}
int main() {
  cin.sync_with_stdio(false);
  int T = 1;
  for (int iTest = 1; iTest <= T; ++iTest) {
    int n, k;
    cin >> n >> k;
    vector<vector<int>> a(n + 1, vector<int>(n + 1));
    a[0][0] = 1;
    for (int i = 0; i < n; ++i) {
      for (int j = 0; j <= i; ++j) {
        if (!a[i][j]) {
          continue;
        }
        for (int k = 1; i + k <= n; ++k) {
          madd(a[i + k][max(k, j)], a[i][j]);
        }
      }
    }
    const vector<int> &b = a[n];
    int res = 0;
    for (int i = 1; i <= n; ++i) {
      for (int j = 1; j <= n; ++j) {
        if (i * j < k) {
          res = (res + b[i] * static_cast<i64>(b[j])) % MOD;
        }
      }
    }
    madd(res, res);
    cout << res << '\n';
  }
  return 0;
}
