#include <bits/stdc++.h>
using namespace std;
const long long INF = 1e18;
const int MAXN = 5002;
const int MOD = 998244353;
const double eps = 1e-8;
const double PI = acos(-1.0);
long long fac[5005];
long long inv[5005];
long long get_inv(long long n) {
  if (n == 1) return 1;
  return get_inv(MOD % n) * (MOD - MOD / n) % MOD;
}
long long Com(long long n, long long m) {
  return fac[n] * inv[m] % MOD * inv[n - m] % MOD;
}
void init() {
  inv[0] = fac[0] = 1;
  for (int i = 1; i < MAXN; i++) {
    fac[i] = fac[i - 1] * i % MOD;
    inv[i] = get_inv(fac[i]);
  }
}
long long solve(long long a, long long b) {
  long long ab = 0;
  for (long long i = 0; i <= min(a, b); i++) {
    ab = (ab + ((Com(a, i) * Com(b, i) % MOD) % MOD * fac[i])) % MOD;
  }
  return ab;
}
int main() {
  init();
  long long a, b, c;
  long long ab, ac, bc;
  long long ans;
  ab = 0;
  ac = 0;
  bc = 0;
  scanf("%lld%lld%lld", &a, &b, &c);
  ans = solve(a, b);
  ans = ans * solve(a, c) % MOD;
  ans = ans * solve(c, b) % MOD;
  cout << ans << endl;
}
