#include <iostream>
#include <string>
#include <vector>
#include <deque>
#include <queue>
#include <algorithm>
#include <iomanip>
#include <set>
#include <map>
#include <bitset>
#include <cmath>
#include <functional>

using namespace std;

#define REP(i,n) for(ll (i) = (0);(i) < (n);++i)
#define REV(i,n) for(ll (i) = (n) - 1;(i) >= 0;--i)
#define PB push_back
#define EB emplace_back
#define MP make_pair
#define FI first
#define SE second
#define SHOW1d(v,n) {REP(WW,n)cerr << v[WW] << ' ';cerr << endl;}
#define SHOW2d(v,WW,HH) {REP(W_,WW){REP(H_,HH)cerr << v[W_][H_] << ' ';cerr << endl;}}
#define ALL(v) v.begin(),v.end()
#define Decimal fixed<<setprecision(20)
#define INF 1000000000
#define LLINF 1000000000000000000LL
#define MOD 998244353

typedef long long ll;
typedef pair<ll,ll> P;

ll my_pow(ll a, ll b) {
	ll ret = 1;
	ll kake = a;
	REP(i, 30) {
		if(b & (1 << i))ret = ret * kake % MOD;
		kake = kake * kake % MOD;
	}

	return ret;
}

int main(){
	cin.tie(0);cout.tie(0);ios::sync_with_stdio(false);

	ll N, M, K;cin >> N >> M >> K;

	if(N == 1 && M == 1) {
		cout << K << endl;
		return 0;
	}

	if(N == 1) {
		cout << my_pow(K, M) << endl;
		return 0;
	}
	if(M == 1) {
		cout << my_pow(K, N) << endl;
		return 0;
	}

	ll ans = 0;
	for (ll i = 1;i <= K;i++) {
		ll A = my_pow(K - i + 1, N);
		ll B = (MOD + my_pow(i, M) - my_pow(i - 1, M)) % MOD;
		ans = (ans + A * B % MOD) % MOD;
	}

	cout << ans << endl;

	return 0;
}

/**
 *    author:  avoas
 *    created: 10.05.2021 23:38:11
**/

#include <bits/stdc++.h>

using namespace std;

using ll = long long;

#define rep(i,n) for(int i = 0; i < (n); ++i)

#define all(x) (x).begin(),(x).end()

constexpr double EPS = 1e-12;

int main()
{
    ios::sync_with_stdio(false);
    cin.tie(0);

    long long r, x, y;
    cin >> r >> x >> y;

    long long diff2 = x*x + y*y;
    double diff = sqrt(diff2);

    int ans = 1;
    while(ans*r < diff)
    {
        ++ans;
    }

    if(diff2 == r*r)
    {
        ans = 1;
    }

    if(diff2 < r*r)
    {
        ans = 2;
    }

    cout << ans << endl;

    return 0;
}