#include <bits/stdc++.h>
using namespace std;
const int N = 303030;
const int MOD = 1e9 + 7;
int a, b, c;
long long inv[N], jc[N];
long long fasp(long long a, long long b) {
  long long res = 1;
  for (; b; b >>= 1, a = a * a % MOD)
    if (b & 1) res = res * a % MOD;
  return res;
}
long long C(int n, int m) { return jc[n] * inv[m] % MOD * inv[n - m] % MOD; }
void upd(long long &a, long long b) {
  a = a + b;
  if (a >= MOD) a -= MOD;
}
int main() {
  jc[0] = 1;
  for (int i = (1); i < (N); i++) jc[i] = jc[i - 1] * i % MOD;
  inv[N - 1] = fasp(jc[N - 1], MOD - 2);
  for (int i = N - 2; ~i; i--) inv[i] = inv[i + 1] * (i + 1) % MOD;
  scanf("%d%d%d", &a, &b, &c);
  long long ans = 0;
  for (int i = (0); i < (b + c + 1); i++) {
    for (int j = (0); j < (min(b, i) + 1); j++) {
      if (i - j > c) continue;
      upd(ans, C(i, j) * C(a - 1 + i, a - 1) % MOD * fasp(3, b + c - i) % MOD);
    }
  }
  printf("%lld\n", ans);
  return 0;
}
