#include <bits/stdc++.h>
using namespace std;
long long int n;
long long int ppow(long long int i, long long int j) {
  if (i >= 998244353) i %= 998244353;
  long long int res = 1LL;
  while (j) {
    if (j & 1LL) {
      res *= i;
      if (res >= 998244353) res %= 998244353;
    }
    i *= i;
    if (i >= 998244353) i %= 998244353;
    j >>= 1LL;
  }
  return res;
}
long long int k[1000002];
long long int r[1000002];
long long int C(int a, int b) {
  long long int up = k[a];
  long long int dw = r[a - b] * r[b];
  if (dw >= 998244353) dw %= 998244353;
  up *= dw;
  if (up >= 998244353) up %= 998244353;
  return up;
}
long long int p3[1000002];
int main() {
  scanf("%lld", &n);
  p3[0] = 1;
  for (int i = 1; i < 1000002; i++) {
    p3[i] = p3[i - 1];
    p3[i] *= 3LL;
    if (p3[i] >= 998244353) p3[i] %= 998244353;
  }
  k[0] = 1LL;
  for (int i = 1; i < 1000002; i++) {
    k[i] = k[i - 1];
    k[i] *= (long long int)(i);
    if (k[i] >= 998244353) k[i] %= 998244353;
  }
  r[1000002 - 1] = ppow(k[1000002 - 1], 998244353 - 2);
  for (int i = 1000002 - 2; i >= 0; i--) {
    r[i] = r[i + 1] * (long long int)(i + 1);
    if (r[i] >= 998244353) r[i] %= 998244353;
  }
  long long int ans = 0;
  for (int i = 1; i <= n; i++) {
    long long int way = C(n, i) * ppow(3, i);
    if (way >= 998244353) way %= 998244353;
    way *= ppow(p3[n], n - i);
    if (way >= 998244353) way %= 998244353;
    if (i & 1) {
      ans += way;
    } else {
      ans += 998244353 - way;
    }
    if (ans >= 998244353) ans %= 998244353;
  }
  for (int i = 1; i <= n; i++) {
    {
      long long int way = 3LL * C(n, i);
      if (way >= 998244353) way %= 998244353;
      long long int dif_col = ppow(p3[n - i] + 998244353 - 1LL, n);
      way *= dif_col;
      if (way >= 998244353) way %= 998244353;
      if (i & 1) {
        ans += way;
      } else {
        ans += 998244353 - way;
      }
      if (ans >= 998244353) ans %= 998244353;
    }
    {
      long long int way = ((p3[i] + 998244353 - 3LL) % 998244353) * C(n, i);
      if (way >= 998244353) way %= 998244353;
      way *= ppow(p3[n - i], n);
      if (way >= 998244353) way %= 998244353;
      if (i & 1) {
        ans += way;
      } else {
        ans += 998244353 - way;
      }
      if (ans >= 998244353) ans %= 998244353;
    }
  }
  printf("%lld\n", ans);
  return 0;
}
