#include"algorithm" #include"iostream" #include"cstring" #include"cstdio" usingnamespace std; #define MAXN 5006 #define P 998244353 int n , m , k; int dp[MAXN][MAXN]; intPow( int a , int b ){ int cur = a % P , ans = 1; while( b ) { if( b & 1 ) ans = 1ll * ans * cur % P; cur = 1ll * cur * cur % P , b >>= 1; } return ans; } intmain( ){ cin >> n >> m >> k; dp[0][0] = 1; for( int i = 1 ; i <= k ; ++ i ) { for (int j = 1; j <= i; ++j) dp[i][j] = ( 1ll * dp[i-1][j] * j % P + 1ll * dp[i-1][j-1] * ( n - j + 1 ) % P ) % P; } int res = 0 , cur = 1 , p = Pow( m , P - 2 ); for( int i = 0 ; i <= k ; ++ i ) ( res += 1ll * dp[k][i] * cur % P ) %= P , cur = 1ll * cur * p % P; cout << res << endl; }