# 线性DP mod = 998244353 n = eval(input()) f = [0]*(n+1) jiecheng = [1]*(n+1) for i in range(2,n+1): jiecheng[i] = jiecheng[i-1]*i % mod for i in range(2,n+1): f[i] = i*f[i-1] + (i-1)*i//2* jiecheng[i-1] f[i] %= mod print(f[n])