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