#include <bits/stdc++.h>
using namespace std;
int n;
long long d[5020][5020], res[5020], inv[5020], fac[5020], ifac[5020],
    MOD = 998244353;
void init_math(int N) {
  inv[1] = 1LL;
  for (int i = 2; i <= N; i++)
    inv[i] = (MOD - ((MOD / i) * inv[MOD % i]) % MOD);
  fac[0] = 1LL;
  ifac[0] = 1LL;
  for (int i = 1; i <= N; i++) {
    fac[i] = (fac[i - 1] * (long long)(i)) % MOD;
    ifac[i] = (ifac[i - 1] * inv[i]) % MOD;
  }
}
int main() {
  ios::sync_with_stdio(0);
  cin.tie(NULL);
  cout.tie(NULL);
  cin >> n;
  init_math(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] * (long long)(i - j + 1) +
                 d[i - 1][j] * (long long)(j)) %
                MOD;
  for (int i = 1; i <= n; i++)
    for (int j = 1; j <= n; j++) res[i] += (d[j][i] * ifac[j]) % MOD;
  for (int i = 1; i <= n; i++)
    for (int j = 1; j <= n; j++) res[i] = (res[i] * j) % MOD;
  for (int i = 1; i <= n; i++) cout << res[i] << ' ';
  cout << endl;
  return 0;
}
