#include #define F first #define S second using namespace std; typedef long long LL; typedef pair pr; inline LL rd(){ LL x=0,y=1;char c=getchar(); for(;c<'0'||c>'9';c=getchar())if(c=='-')y=-1; for(;c>='0'&&c<='9';c=getchar())x=(x<<1)+(x<<3)+(c^48); return x*y; } const LL p=998244353,N=100005; LL qp(LL x,LL y){LL z=1;for(;y;y>>=1,x=x*x%p)if(y&1)z=z*x%p;return z;} LL n,m,fc[N],iv[N],ifc[N]; int main(){ n=rd();fc[0]=fc[1]=iv[0]=iv[1]=ifc[0]=ifc[1]=1; for(LL i=2;i<=n;++i)fc[i]=fc[i-1]*i%p,iv[i]=iv[p%i]*(p-p/i)%p,ifc[i]=ifc[i-1]*iv[i]%p; for(LL i=2,o;i<=n-2;++i){ LL j=n-i;o=fc[n]*iv[n-1]%p*iv[i]%p*iv[j]%p*ifc[i-2]%p*ifc[j-2]%p; m=(m+o*o)%p; } cout<