func_code_string: #include <bits/stdc++.h>   using namespace std;   const int N = 5010;   const int mod = 998244353;   long long d[N][N];   long long p[N];   long long inv[N];   long long _inv[N];   long long f[N];   void init(int n) {     d[0][0] = 1;     for (int i = 1; i <= n; i++) {       for (int j = 1; j <= i; j++) {         d[i][j] =             (d[i - 1][j - 1] * (i - j + 1) % mod + d[i - 1][j] * j % mod) % mod;       }     }     p[0] = p[1] = inv[0] = inv[1] = _inv[0] = _inv[1] = 1;     for (int i = 2; i <= n; i++) {       p[i] = p[i - 1] * i % mod;       inv[i] = (mod - mod / i) * inv[mod % i] % mod;       _inv[i] = _inv[i - 1] * inv[i] % mod;     }   }   int ans[N];   int main() {     int n;     cin >> n;     init(n);     for (int i = 1; i <= n; i++)       for (int j = 1; j <= n; j++) {         ans[i] = (ans[i] + d[j][i] * _inv[j] % mod) % mod;       }     for (int i = 1; i <= n; i++) ans[i] = ans[i] * p[n] % mod;     for (int i = 1; i <= n; i++) cout << ans[i] <<    ;   }   