func_code_string: #include <bits/stdc++.h>   using namespace std;   using ll = long long;   template <typename T>   ostream& operator<<(ostream& os, const vector<T>& v) {     for (T e : v) {       os << e <<    ;     }     return os;   }   constexpr ll mod = 998244353;   constexpr int maxn = 502;   ll lte[maxn];   ll dp[maxn];   int main() {     ios_base::sync_with_stdio(false);     cin.tie(0);     cout.tie(0);     ll n, k;     cin >> n >> k;     --k;     for (int i = 1; i <= n; ++i) {       ll total = 0;       for (int j = 1; j <= n; ++j) {         if (j <= i) {           dp[j] = total + 1;           total += dp[j];           total %= mod;         } else {           dp[j] = total;           total += dp[j];           total -= dp[j - i];           total %= mod;         }       }       lte[i] = (2 * dp[n] % mod + mod) % mod;     }     for (int i = n; i >= 1; --i) {       lte[i] = (lte[i] - lte[i - 1] + mod) % mod;     }     ll ans = 0;     for (int i = 1; i <= min(n, k); ++i) {       ll d = k / i;       for (int j = 1; j <= min(d, n); ++j) {         ans = (ans + lte[i] * lte[j]) % mod;       }     }     cout << ans * ((mod + 1) / 2) % mod << endl;     return 0;   }   