let rec power ( * ) e m n =
  if n <= 0 then e
  else power ( * ) (if n land 1 = 0 then e else m * e) (m * m) (n lsr 1)

let m = 998244353
let ( +^ ) x y = (x + y) mod m
let ( *^ ) x y = (x * y) mod m
let inv = Fun.flip (power ( *^ ) 1) (m - 2)

let () = Scanf.scanf "%d %d %d" @@ fun n m k ->
  let comb = Array.make n 1 in
  for i = 0 to n - 2 do
    comb.(i + 1) <- comb.(i) *^ (n - 1 - i) *^ inv (i + 1)
  done;
  Printf.printf "%d\n" @@
  List.fold_left ( +^ ) 0 @@
  List.init (k + 1) @@ fun k ->
    power ( *^ ) (m *^ comb.(k)) (m - 1) (n - 1 - k)



