#include <bits/stdc++.h>
using namespace std;
const long long int mod = 1e9 + 7;
long long int invmod(long long int x) {
  long long int e = mod - 2;
  long long int sum = 1;
  long long int cur = x;
  while (e > 0) {
    if (e % 2 == 1) {
      sum = sum * cur % mod;
    }
    cur = cur * cur % mod;
    e /= 2;
  }
  return sum;
}
const int N = 3000;
long long int fact[N];
long long int pow3[N];
long long int comb(long long int x, long long int y) {
  long long int ret = fact[x];
  ret *= invmod(fact[y]);
  ret %= mod;
  ret *= invmod(fact[x - y]);
  return ret % mod;
}
int main(void) {
  int n, m, k;
  cin >> n >> m >> k;
  fact[0] = 1;
  pow3[0] = 1;
  for (int i = (int)(1); i < (int)(N); i++) {
    fact[i] = (fact[i - 1] * i) % mod;
    pow3[i] = pow3[i - 1] * 3 % mod;
  }
  long long int sum = 0;
  long long int cur = 1;
  for (int d = (int)(0); d < (int)(m + k + 1); d++) {
    long long int tmp = fact[d + n - 1];
    tmp *= invmod(fact[n - 1]);
    tmp %= mod;
    tmp *= invmod(fact[d]);
    tmp %= mod;
    tmp *= pow3[m + k - d];
    tmp %= mod;
    tmp *= cur;
    sum += tmp;
    sum %= mod;
    cur *= 2;
    if (d >= k) {
      cur += mod - comb(d, d - k);
    }
    if (d >= m) {
      cur += mod - comb(d, m);
    }
    cur %= mod;
  }
  cout << sum << endl;
}
