#include using namespace std; typedef long long ll; #define rep(i, n) for(ll i = 0, i##_len = (n); i < i##_len; i++) #define reps(i, s, n) for(ll i = (s), i##_len = (n); i < i##_len; i++) #define rrep(i, n) for(ll i = (n) - 1; i >= 0; i--) #define rreps(i, e, n) for(ll i = (n) - 1; i >= (e); i--) #define all(x) (x).begin(), (x).end() #define rall(x) (x).rbegin(), (x).rend() #define sz(x) ((ll)(x).size()) #define len(x) ((ll)(x).length()) #define endl "\n" struct BigModPow { private: static long long mod_pow(long long x, long long n, long long mod) { long long ans = 1; while(n > 0) { if ((n % 2) == 0) { x = (x * x) % mod; n >>= 1; } else { ans = (ans * x) % mod; n--; } } return ans; } public: static long long calc(string n, string k, long long mod) { int nl = n.length(), kl = k.length(); long long nm = 0; for(int i = 0; i < nl; i++) nm = (nm * 10 + n[i] - '0') % mod; long long nk = 1, cv = nm; for(int i = 0; i < kl; i++) { nk = (nk * mod_pow(cv, (k[kl - 1 - i] - '0'), mod)) % mod; cv = mod_pow(cv, 10, mod); } return nk; } }; int main() { cin.tie(0); ios::sync_with_stdio(false); // ifstream in("input.txt"); // cin.rdbuf(in.rdbuf()); string n, k; cin >> n >> k; ll idx = BigModPow::calc(n, k, 6); cout << "285714"[(idx + 5) % 6] << endl; return 0; }