#include <bits/stdc++.h>
using namespace std;
const double EPS = 1e-10;
using ll = long long;
using Pi = pair<int, int>;
using Pl = pair<ll, ll>;
struct Combination {
  vector<long long> _fac, _finv, _inv;
  const int m = 998244353;
  Combination(int sz) : _fac(sz), _finv(sz), _inv(sz) {
    _fac[0] = _fac[1] = 1;
    _finv[0] = _finv[1] = 1;
    _inv[1] = 1;
    for (int i = 2; i <= sz; i++) {
      _fac[i] = _fac[i - 1] * i % m;
      _inv[i] = m - _inv[m % i] * (m / i) % m;
      _finv[i] = _finv[i - 1] * _inv[i] % m;
    }
  }
  inline long long fac(int n) { return _fac[n]; }
  inline long long inv(int n) { return _inv[n]; }
  inline long long finv(int n) { return _finv[n]; }
  long long comb(int n, int k) {
    if (n < k) return 0;
    if (n < 0 || k < 0) return 0;
    return _fac[n] * (_finv[k] * _finv[n - k] % m) % m;
  }
};
ll modpow(ll a, ll n, ll m) {
  if (n == 0) return 1;
  ll half = modpow(a, n / 2, m);
  ll res = half * half % m;
  if (n & 1) res = res * (a % m) % m;
  return res;
}
int main() {
  int n;
  cin >> n;
  Combination C(200000);
  for (int i = (int)(0); i < (int)(n); i++) {
    if (i == n - 1) {
      cout << 10 << "\n";
      continue;
    }
    ll ans = 0;
    if (i <= n - 3) {
      ans += 10 * 9 * 9 % 998244353 * modpow(10, n - i - 3, 998244353) %
             998244353 * (n - i - 2) % 998244353;
      ans %= 998244353;
    }
    ans += 10 * 9 % 998244353 * modpow(10, n - i - 2, 998244353) % 998244353 *
           2 % 998244353;
    ans %= 998244353;
    cout << ans << " ";
  }
  cout << endl;
}
