#include <bits/stdc++.h>
using namespace std;
const int mod = 1e9 + 7;
const int MN = 300010;
int exp(int x, int n) {
  int ret = 1;
  while (n) {
    if (n & 1) ret = 1LL * ret * x % mod;
    x = 1LL * x * x % mod;
    n >>= 1;
  }
  return ret;
}
int inv(int x) { return exp(x, mod - 2); }
int fact[MN], invf[MN];
int N, M, K;
int main() {
  fact[0] = 1;
  for (int i = 1; i < MN; i++) {
    fact[i] = 1LL * fact[i - 1] * i % mod;
  }
  for (int i = 0; i < MN; i++) {
    invf[i] = inv(fact[i]);
  }
  cin >> N >> M >> K;
  int ans = 0;
  for (int i = 0; i <= M; i++) {
    for (int j = 0; j <= K; j++) {
      ans += 1LL * fact[N - 1 + M - i + K - j] * invf[N - 1] % mod *
             invf[M - i] % mod * invf[K - j] % mod * exp(3, i + j) % mod;
      ans %= mod;
    }
  }
  cout << ans;
}
