#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];
int main(void) {
  int n, m, k;
  cin >> n >> m >> k;
  assert(n <= 1000 && m <= 1000 && k <= 1000);
  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;
  for (int b = (int)(0); b < (int)(m + 1); b++) {
    for (int c = (int)(0); c < (int)(k + 1); c++) {
      long long int tmp = fact[b + c + n - 1];
      tmp *= invmod(fact[b]);
      tmp %= mod;
      tmp *= invmod(fact[c]);
      tmp %= mod;
      tmp *= invmod(fact[n - 1]);
      tmp %= mod;
      tmp *= pow3[m - b + k - c];
      sum += tmp;
      sum %= mod;
    }
  }
  cout << sum << endl;
}
