#include <bits/stdc++.h>
using namespace std;
const long long mod = 998244353;
long long c[505][505];
int n, k;
long long pw(long long a, int n) {
  long long ret = 1;
  while (n) {
    if (n & 1) ret = ret * a % mod;
    n >>= 1, a = a * a % mod;
  }
  return ret;
}
long long inv(long long a) { return pw(a, mod - 2); }
void pre() {
  for (int i = 0; i < 505; i++) c[i][0] = c[i][i] = 1;
  for (int i = 1; i < 505; i++)
    for (int j = 1; j < i; j++) c[i][j] = (c[i - 1][j] + c[i - 1][j - 1]) % mod;
}
bool check(int i, int j) {
  return n * n - k < i * j + (n - i) * (n - j) && i * j + (n - i) * (n - j) < k;
}
int main() {
  scanf("%d%d", &n, &k);
  if (k <= (n * n + 1) / 2) return 0 * puts("0");
  pre();
  long long ans = 0;
  for (int i = 0; i <= n; i++) {
    for (int j = 0; j <= n / 2; j++) {
      if (i == n - i && j > n - j) break;
      if (j == n - j && i > n - i) break;
      if (!check(i, j)) continue;
      if (j == n - j && i == n - i)
        puts("-1"),
            ans = (ans + 1ll * c[n][i] * c[n][j] % mod * inv(2) % mod) % mod;
      else
        ans = (ans + 1ll * c[n][i] * c[n][j] % mod) % mod;
    }
  }
  printf("%lld\n", ans);
  return 0;
}
