longlongquick_pow(longlong base,longlong pow) { longlong temp = 0; if(A == 4 || A == 9) { temp = 2; } else { temp = 4; } longlong ans = 1; while(pow) { if(pow & 1) { ans = ans * base % temp; } base = base * base % temp;//caculate the x^n pow >>= 1; } if(ans == 0) { if(A == 4 || A == 9) { ans = 2; } else { ans = 4; } } return ans; }
longlongquick_pow2(longlong base, longlong p, longlong m) { longlong ans = 1 % m; while(p) { if(p & 1) { ans = ans * base % m; } base = base * base % m; p >>= 1; } return ans; }
intmain() { cin>>a>>b>>c; A = a % 10; if(A == 0 || A == 5 || A == 6 || A == 1) { cout<<A<<endl; } else { longlong p = quick_pow(b, c); cout<<quick_pow2(a, p, 10)<<endl; } return0; }