12
 1378
 51202278
 989898989
 4
 7
 9
 6
 8
 12193721
 999999995
 999999999
 11
 999999996
 999999998
 3
 14
 15
 10
 999999994
 1000
 13781378
 5
 999999997
 1000000000
 13
 16
 0

6
 4
 4
 8
 6
 2
 8
 4
 6
 8
 2
 2
 2
 6
 4
 2
 4
 2
 4
 4
 6
 4
 8
 8
 6
 8
 6
 1

#include <bits/stdc++.h>
using namespace std;
const double PI = acos(-1.0);
const double eps = 1e-8;
const int mod = 1000000007;
struct node {
  int x, y;
  node() {}
  node(int xx, int yy) : x(xx), y(yy) {}
  bool operator<(const node a) const {
    if (x == a.x) return y < a.y;
    return x < a.x;
  }
};
int a[1005];
int b[1005];
int c[1005];
int d[1005];
int dx[] = {0, 0, 1, -1};
int dy[] = {1, -1, 0, 0};
char s[1005];
bool vis[1005];
int n, m;
int ans;
int main() {
  int tt, ca = 1;
  int p, q;
  scanf("%d", &n);
  if (n == 0)
    ans = 1;
  else {
    n %= 4;
    if (n == 1)
      ans = 8;
    else if (n == 2)
      ans = 4;
    else if (n == 3)
      ans = 2;
    else if (n == 0)
      ans = 6;
  }
  printf("%d\n", ans);
  return 0;
}
