#include <bits/stdc++.h>

#define Mod 998244353

using namespace std;


int n, m, k, pre[200010], ans;

int fpow(int x, int y) {
	int res = 1;
	while (y) {
		if (y & 1) res = 1ll * res * x % Mod;
		x = 1ll * x * x % Mod;
		y >>= 1;
	}
	return res;
}

int main() {
	cin >> n >> m >> k;
	if (n == 1) return printf("%d", fpow(k, m)), 0;
	if (m == 1) return printf("%d", fpow(k, n)), 0;
	for (int i = 1; i <= k; i++) ans = (ans + 1ll * (fpow(i, n) - fpow(i - 1, n)) * fpow(k - i + 1, m)) % Mod;
	if (ans < 0) ans += Mod;
	cout << ans << endl;
	return 0;
} 
#include<bits/stdc++.h>
using namespace std;
int arr[100005];
long long mod=998244353;
int main()
{
	long long a,b,c;
	scanf("%lld%lld%lld",&a,&b,&c);
	long long sum,num,ans;
	if(a%2==0)
	{
		sum=((a/2)%mod*(a+1)%mod)%mod;
	}
	else if(a%2==1)
	{
		sum=(a%mod*((a+1)/2)%mod)%mod;
	}
	if(b%2==0)
	{
		num=((b/2)%mod*(b+1)%mod)%mod;
	}
	else if(b%2==1)
	{
		num=(b%mod*((b+1)/2)%mod)%mod;
	}
	if(c%2==0)
	{
		ans=((c/2)%mod*(c+1)%mod)%mod;
	}
	else if(c%2==1)
	{
		ans=(c%mod*((c+1)/2)%mod)%mod;
	}
	//printf("%lld %lld %lld\n",sum,num,ans);
	long long aans=(num*sum)%mod;
	aans=(aans*ans)%mod;
	printf("%lld\n",aans);
}