#include <bits/stdc++.h>
using namespace std;
const int mod = 998244353;
const int maxn = 5005;
long long fac[maxn], inv[maxn];
long long qpow(long long a, long long n) {
  long long ret = 1;
  while (n > 0) {
    if (n & 1) ret = ret * a % mod;
    a = a * a % mod;
    n >>= 1;
  }
  return ret;
}
void init() {
  fac[0] = 1;
  for (int i = 1; i < maxn; i++) {
    fac[i] = fac[i - 1] * (long long)i % mod;
  }
  inv[maxn - 1] = qpow(fac[maxn - 1], mod - 2);
  for (int i = maxn - 2; i >= 0; i--) {
    inv[i] = inv[i + 1] * (long long)(i + 1) % mod;
  }
}
long long C(int n, int k) {
  if (k > n) return 0;
  return 1LL * fac[n] * inv[k] % mod * inv[n - k] % mod;
}
int main() {
  init();
  int a, b, c;
  cin >> a >> b >> c;
  long long ans1 = 0, ans2 = 0, ans3 = 0;
  for (int i = 0; i <= min(a, b); i++) {
    ans1 = (ans1 + C(a, i) * C(b, i) % mod * fac[i] % mod) % mod;
  }
  for (int i = 0; i <= min(a, c); i++) {
    ans2 = (ans2 + C(a, i) * C(c, i) % mod * fac[i] % mod) % mod;
  }
  for (int i = 0; i <= min(b, c); i++) {
    ans3 = (ans3 + C(b, i) * C(c, i) % mod * fac[i] % mod) % mod;
  }
  cout << ans1 * ans2 % mod * ans3 % mod << endl;
  return 0;
}
