#include <bits/stdc++.h>
using namespace std;
const int mod = 998244353;
const int N = 5005;
long long fact[N];
long long myPow(long long a, long long n) {
  long long ans = 1;
  while (n != 0) {
    if (n & 1) {
      (ans *= a) %= mod;
    }
    (a *= a) %= mod;
    n >>= 1;
  }
  return ans;
}
long long nCk(int k, int n) {
  if (k > n) {
    return 0;
  }
  long long d = (fact[n - k] * fact[k]) % mod;
  return (fact[n] * myPow(d, mod - 2)) % mod;
}
int main() {
  int a, b, c;
  scanf("%d%d%d", &a, &b, &c);
  int i, j;
  long long ans = 1;
  long long tmp = 1;
  fact[0] = 1;
  for (i = 1; i < N; i++) {
    (fact[i] = fact[i - 1] * (long long)i) %= mod;
  }
  for (i = 1; i <= a; i++) {
    (tmp += ((nCk(i, a) * nCk(i, b)) % mod) * fact[i]) %= mod;
  }
  ans = tmp;
  tmp = 1;
  for (i = 1; i <= a; i++) {
    (tmp += ((nCk(i, a) * nCk(i, c)) % mod) * fact[i]) %= mod;
  }
  (ans *= tmp) %= mod;
  tmp = 1;
  for (i = 1; i <= b; i++) {
    (tmp += ((nCk(i, b) * nCk(i, c)) % mod) * fact[i]) %= mod;
  }
  (ans *= tmp) %= mod;
  printf("%I64d", ans);
  return 0;
}
