#include #define int long long using namespace std; const int mo=998244353; int n,ans; long long jc[1000001],inv[1000001],iv[1000001]; inline long long ksm(long long x,long long y){if (mo==1) return 0; long long ans=1;for (int i=0;(y>>i);++i){if (y>>i&1) ans=ans*x%mo; x=x*x%mo;}return ans;} inline long long invv(long long x){return ksm(x,mo-2);} inline void init(int x){jc[0]=1; for (int i=1;i<=x;++i) jc[i]=jc[i-1]*i%mo;inv[x]=invv(jc[x]); for (int i=x-1;i>=0;--i) inv[i]=inv[i+1]*(i+1)%mo;} inline long long C(long long x,long long y){if (x>n; for (int i=1;i<=n;++i) iv[i]=inv[i]*jc[i-1]%mo; for (int A=2;A<=n-2;++A){ int B=n-A; int now=jc[n]*inv[A-2]%mo*inv[B-2]%mo*iv[A]%mo*iv[B]%mo*iv[n-1]%mo; ans=(ans+now*now)%mo; } cout<