#include<bits/stdc++.h>
using namespace std;
#pragma GCC optimize ("Ofast")
#pragma GCC target ("avx2")
#define el << '\n'
#define nl cout << '\n'
#define cina(a,n) for (int i=0; i<n; i++) cin >> a[i]
#define ll long long
#define spc << ' '
#define forn(i,n) for (int i=0; i<n; i++)
#define forl(i,s,e) for (int i=s; i<e; i++)
#define MOD 1000000007
#define MOD2 998244353
#define pb push_back
#define ansyes cout << "YES\n"
#define ansno cout << "NO\n"
#define fi first
#define se second
#define pii pair<int, int>
#define pll pair<long long, long long>
ll power(ll a, ll b) {
if (b==0) return 1;
if (b%2) return (a*power(a,b-1))%MOD2;
ll temp = power(a,b/2);
return (temp*temp)%MOD2;
}
ll inv(ll a) {
return power(a,MOD2-2);
}
int main(){
ios_base::sync_with_stdio(false);
cin.tie(NULL);
ll n,m; cin >> n >> m;
ll k; cin >> k;
ll dp[k+1][k+1];
forn(i,k+1) forn(j,k+1) dp[i][j]=0;
dp[0][0]=1;
forn(i,k) {
forn(j,k) {
dp[i][j] %= MOD2;
dp[i+1][j+1] += dp[i][j]*(n-j);
dp[i+1][j] += dp[i][j]*j;
}
dp[i+1][k] += dp[i][k]*k;
}
ll ans=0;
forl(i,1,k+1) {
ans += (dp[k][i]%MOD2 * inv(power(m,i)));
ans %= MOD2;
}
cout << ans;
}
1213A - Chips Moving | 490A - Team Olympiad |
233A - Perfect Permutation | 1360A - Minimal Square |
467A - George and Accommodation | 893C - Rumor |
227B - Effective Approach | 1534B - Histogram Ugliness |
1611B - Team Composition Programmers and Mathematicians | 110A - Nearly Lucky Number |
1220B - Multiplication Table | 1644A - Doors and Keys |
1644B - Anti-Fibonacci Permutation | 1610A - Anti Light's Cell Guessing |
349B - Color the Fence | 144A - Arrival of the General |
1106A - Lunar New Year and Cross Counting | 58A - Chat room |
230A - Dragons | 200B - Drinks |
13A - Numbers | 129A - Cookies |
1367B - Even Array | 136A - Presents |
1450A - Avoid Trygub | 327A - Flipping Game |
411A - Password Check | 1520C - Not Adjacent Matrix |
1538B - Friends and Candies | 580A - Kefa and First Steps |