using System; using static System.Console; using System.Linq; using System.Collections.Generic; class Program { static int NN => int.Parse(ReadLine()); static int[] NList => ReadLine().Split().Select(int.Parse).ToArray(); static void Main() { var c = NList; var (h, w, m) = (c[0], c[1], c[2]); var res = 0L; for (var i = 1; i <= m; ++i) { res = (res + Calc(m, i, h) * Calc(m, i, w) % mod) % mod; } WriteLine(res); } static int mod = 998_244_353; static long Calc(int max, int min, int n) { if (n == 1) return 1; if (max == min) return 1; return (Exp(max - min + 1, n) - Exp(max - min, n) + mod) % mod; } static long Exp(long n, long k) { n = n % mod; if (k == 0) return 1; if (k == 1) return n; var half = Exp(n, k / 2); var result = (half * half) % mod; return ((k % 2) == 0) ? result : ((result * n) % mod); } }