#include #include #include const int MOD = 1000000007; const int MOD2 = 456; using namespace std; // Function to calculate power with modulo long long mod_pow(long long base, long long exp, long long mod) { long long result = 1; while (exp > 0) { if (exp % 2 == 1) { result = (result * base) % mod; } base = (base * base) % mod; exp /= 2; } return result; } // Function to calculate gcd long long gcd(long long a, long long b) { while (b != 0) { long long temp = b; b = a % b; a = temp; } return a; } int main() { long long X = 100; // Initial X value is given as 100 long long A, B; cin >> A >> B; // Input values for A and B // Step 1: Calculate Y = A^B % (10^9 + 7) long long Y = mod_pow(A, B, MOD); cout << "Judge is Y = " << A << "^" << B << " % (10^9 + 7) = " << Y << endl; // Step 2: Calculate K = gcd(X, Y) long long K = gcd(X, Y); cout << "Judge is K = gcd(X, Y) = " << K << endl; // Step 3: Calculate X' = X^K % 456 long long X_prime = mod_pow(X, K, MOD2); cout << "Judge is X' = X^" << K << " % 456 = " << X_prime << endl; // Output final result cout << "Final X' = " << X_prime << endl; return 0; }