#include <bits/stdc++.h>
#pragma GCC optimize("O3")
using namespace std;
using ll = long long;
const ll mod = 998244353;
ll fact(int a) {
  if (a == 0) return 1LL;
  if (a == 1) return 1LL;
  return (fact(a - 1) * a) % mod;
}
ll dp[(int)5e3 + 69][(int)5e3 + 69] = {0};
ll comb(int x, int y) {
  if (dp[x][y] != 0) return dp[x][y];
  if (x == y) return 1;
  if (y == 0) return 1;
  dp[x][y] = (comb(x - 1, y) % mod + comb(x - 1, y - 1) % mod) % mod;
  return dp[x][y];
}
ll solve(ll x, ll y) {
  ll ret = 0;
  for (ll i = 0; i <= min(x, y); i++) {
    ret += comb(x, i) % mod * comb(y, i) % mod * fact(i) % mod;
    ret %= mod;
  }
  return ret;
}
int main() {
  cin.tie(0);
  ios_base::sync_with_stdio(0);
  ll a, b, c;
  cin >> a >> b >> c;
  ll ans = ((solve(a, b) * solve(b, c)) % (mod)) * solve(c, a);
  cout << ans % mod;
}
