#define _crt_secure_no_warnings #ifndef _GLIBCXX_NO_ASSERT #include #endif #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #ifdef __GXX_EXPERIMENTAL_CXX0X__ #include #include #include #include #include #include #include #include #endif #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #ifdef __GXX_EXPERIMENTAL_CXX0X__ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #endif using namespace std; int main() { string N, M; cin >> N; cin >> M; auto a = M.rbegin(); int b = *a-'0'; a++; if (a != M.rend()) { b += (*a - '0') * 10; } cout << (int)pow(*(N.rbegin())-'0', b%4) % 10 << endl; return 0; }