RT
#include<bits/stdc++.h>
#define ll long long
#define mod 998244353
using namespace std;
ll ans1,ans2,n,f[1000005]={1};
ll ksm(ll a,ll b)
{
ll t=1;
while(b)
{
if(b&1)t=t*a%mod;
a=a*a%mod;
b>>=1;
}
return t;
}
void jiecheng(ll x)
{
for(int i=1;i<=x;i++)
f[i]=f[i-1]*i%mod;
}
int main()
{
freopen("draw.in","r",stdin);
freopen("draw.out","w",stdout);
cin>>n;
jiecheng(n);
for(int i=1;i<=n;i++)
{
ans1+=f[n]/(f[i]*f[n-i])*((i-1)%2==0?1:-1)*ksm(3,i)*ksm(3,n*(n-i))%mod;
ll mi = ksm(3,n-i);
ans2+=f[n]/(f[i]*f[n-i])*((i)%2==0?1:-1)*(ksm(mi-1,n)-ksm(mi,n));
//cout<<f[n]/(f[i]*f[n-i])*((i)%2==0?1:-1)*(ksm(-1*(ksm(3,i)-ksm(3,n))+1,n)-1)/ksm(3,i*n)<<endl;
//cout<<ans1<<' '<<ans2<<endl;
}
ans1=ans1*2%mod;
ans2=ans2*-3%mod;
cout<<(ans1+ans2)%mod;
}