// Latihan bergaya OSN, Bab 14, soal 2 -- pembahasan. // // Teorema Fermat kecil: untuk p prima dan a bukan kelipatan p, // a^(p-1) = 1 (mod p). Jadi eksponennya boleh disisakan terhadap p-1. #include using namespace std; const long long MOD = 1000000007LL; long long pangkat(long long alas, long long eksponen, long long mod) { long long hasil = 1; alas %= mod; while (eksponen > 0) { if (eksponen % 2 == 1) hasil = hasil * alas % mod; alas = alas * alas % mod; eksponen /= 2; } return hasil; } int main() { long long a, b, c; cin >> a >> b >> c; long long eksponen = pangkat(b, c, MOD - 1); cout << pangkat(a, eksponen, MOD) << "\n"; return 0; }