func_code_string: #include <bits/stdc++.h>   using namespace std;   const long long mod = 998244353;   int n, k, now, last;   long long dp[2][505][505], sum[505], ans = 0, s;   int main() {     ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);     cin >> n >> k;     memset(dp[1], 0, sizeof dp[1]);     dp[1][1][1] = 1;     for (int i = 2; i <= n; i++) {       now = i & 1;       last = now ^ 1;       memset(dp[now], 0, sizeof dp[now]);       for (int j = 1; j < i; j++) {         for (int k = 1; k < i; k++) {           if (j != k)             dp[now][j][k + 1] = (dp[now][j][k + 1] + dp[last][j][k]) % mod;           else             dp[now][j + 1][k + 1] =                 (dp[now][j + 1][k + 1] + dp[last][j][k]) % mod;           dp[now][j][1] = (dp[now][j][1] + dp[last][j][k]) % mod;         }       }     }     memset(sum, 0, sizeof sum);     for (int i = 1; i <= n; i++)       for (int j = 1; j <= i; j++) sum[i] = (sum[i] + dp[now][i][j]) % mod;     s = 0;     for (int i = 1; i <= n; i++) s = (s + sum[i]) % mod;     int t = n;     for (int i = 1; i <= n; i++) {       while (t * i >= k) {         s = (s - sum[t] + mod) % mod;         t--;       }       ans = (ans + sum[i] * s % mod) % mod;     }     ans = ans * 2 % mod;     cout << ans << endl;     return 0;   }   