#include <bits/stdc++.h>
const long long mod = 1000000007ll;
int main() {
  static long long v[1000000];
  v[1] = 1;
  for (int i = 2; i < 1000000; i++) {
    v[i] = (mod - mod / i) * v[mod % i] % mod;
  }
  static long long P[1000000], rP[1000000], P3[1000000];
  P[0] = rP[0] = P3[0] = 1ll;
  for (int i = 1; i < 1000000; i++) {
    P[i] = P[i - 1] * i % mod;
    rP[i] = rP[i - 1] * v[i] % mod;
    P3[i] = P3[i - 1] * 3ll % mod;
  }
  int N, M, K;
  scanf("%d%d%d", &N, &M, &K);
  long long ans = 0ll;
  for (int i = 0; i <= M; i++) {
    for (int j = 0; j <= K; j++) {
      ans +=
          (P[N - 1 + i + j] * rP[i] % mod * rP[(N - 1 + i + j) - (i)] % mod) *
          (P[N - 1 + j] * rP[j] % mod * rP[(N - 1 + j) - (j)] % mod) % mod *
          P3[(M - i) + (K - j)] % mod;
      ans %= mod;
    }
  }
  printf("%lld\n", ans);
  return 0;
}
