use proconio::input; use proconio::fastout; use ac_library::ModInt1000000007 as Mint; fn ncr(n: usize, r: usize) -> Mint { let mut ret = Mint::new(1); for i in n-r+1..=n { ret *= i; } for i in 1..=r { ret /= i; } return ret; } fn pow(x: usize, mut k: usize) -> Mint { let mut x = Mint::new(x); let mut ret = Mint::new(1); while k > 0 { if k & 1 > 0 { ret = ret * x; } x = x * x; k >>= 1; } return ret; } #[fastout] #[allow(non_snake_case)] fn main() { input! { (H, W, M): (usize, usize, usize), } if H + W - 1 > M { println!("0"); } else { println!("{}", ncr(H+W-2, H-1) * ncr(M, H+W-1) * pow(M, H*W-H-W+1)); } }