#include #include using namespace std; using ull = unsigned long long; int main(){ unsigned p, q, r; ull K; scanf("%u %u %u %llu", &p, &q, &r, &K); p %= 10, q %= 10, r %= 10; vector a(1000, 0); unsigned status = p*100 + q*10 + r, now, one_before, two_before, sum, count = 3; a[(10 + (q<<1) - r) %10*100 + (20 + r - p - q)%10*10 + p] = 1; a[(20 + r - p - q)%10*100 + p*10 + q] = 2; do{ sum = (p + q + r)%10; p = q, q = r, r = sum; a[status] = count++; status = status%100*10 + r; }while(!a[status] && count < K); if(count == K){ printf("%u\n", r); return 0; } K = (K - count)%(count - a[status]); for (unsigned i = 0; i < K; i++) { sum = (p + q + r)%10; p = q, q = r, r = sum; } printf("%u\n", r); return 0; }