#include <bits/stdc++.h>
using namespace std;
const int maxn = 1e6 + 6;
long long n;
long long q[maxn];
long long ans[maxn];
void init() {
  q[0] = 1;
  for (long long i = 1; i <= n; i++) {
    q[i] = q[i - 1] * i % 998244353;
  }
}
int main() {
  scanf("%lld", &n);
  init();
  ans[1] = 1;
  for (long long i = 2; i <= n; i++) {
    ans[i] = ((ans[i - 1] * i % 998244353 + q[i]) % 998244353 - i + 998244353) %
             998244353;
  }
  printf("%lld\n", ans[n]);
  return 0;
}
