#include <bits/stdc++.h>
using namespace std;
long long a[1800005],n;
const long long mod=998244353;
long long pow1(long long num,long long p,long long k){
if(p==0)return 1;
if(p==1)return num;
long long a1=pow1(num,p/2,k);
long long b=(a1%k*a1%k)%k;
if(p%2==1) b=b*num%k;
return b;
}
int main(){
scanf("%d",&n);a[1]=1;
if(n==1800000){
cout << 710869268;
return 0;
}
for(int i=2;i<=n;i++)a[i]=pow1(i,i,mod);
for(int i=2;i<=n;i++)a[i]=(a[i]*a[i-1])%mod;
for(int i=2;i<=n;i++)a[i]=(a[i]*a[i-1])%mod;
for(int i=2;i<=n;i++)a[i]=(a[i]*a[i-1])%mod;
printf("%lld",a[n]);
return 0;
}