package main import ( "fmt" ) func main() { var A, B, C, mod int64 fmt.Scanf("%d^%d^%d", &A, &B, &C) mod = 1000000007 x := pow(pow(A, B, mod), C, mod) y := pow(A, pow(B, C, mod-1), mod) fmt.Println(x, y) } func pow(x, n, mod int64) int64 { if n == 0 { return 1 } else if x == 0 { return 0 } else if n%2 == 0 { return pow(x*x%mod, n/2, mod) } else { return pow(x*x%mod, n/2, mod) * x % mod } }