#include <bits/stdc++.h>
using namespace std;
const int mod = 998244353;
long long modPow(long long n, long long k) {
  n %= mod;
  k %= mod - 1;
  long long res = 1;
  for (; k; k >>= 1) {
    if (k & 1) res = res * n % mod;
    n = n * n % mod;
  }
  return res;
}
long long inv(long long n) { return modPow(n, mod - 2); }
int main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  long long n;
  cin >> n;
  static long long fact[(int)1e6 + 1];
  fact[0] = 1;
  for (int i = 1; i <= n; ++i) fact[i] = fact[i - 1] * i % mod;
  long long res = modPow(modPow(3, n) - 3, n);
  for (int i = 1; i <= n; ++i) {
    const long long sign = i & 1 ? -1 : 1;
    const long long nCi = fact[n] * inv(fact[i]) % mod * inv(fact[n - i]) % mod;
    res += sign * nCi % mod * (modPow(3, i) - 3) % mod *
           modPow(3, n * (n - i)) % mod;
    res += sign * nCi % mod * 3 * modPow(modPow(3, n - i) - 1, n) % mod;
  }
  res = modPow(3, n * n) - res;
  cout << (res % mod + mod) % mod;
  return 0;
}
