#include <bits/stdc++.h>
using namespace ::std;
const long long mod = 1e9 + 7;
const long long inf = 1e17 + 500;
const long long maxn = 3200;
long long ent[maxn][maxn];
long long poww[maxn];
int main() {
  poww[0] = 1;
  for (long long i = 1; i < maxn; i++) {
    poww[i] = (poww[i - 1] * 3) % mod;
  }
  ent[0][0] = 1;
  for (long long i = 1; i < maxn; i++) {
    ent[i][i] = 1;
    ent[i][0] = 1;
    for (long long j = 1; j < i; j++) {
      ent[i][j] = (ent[i - 1][j] + ent[i - 1][j - 1]) % mod;
    }
  }
  long long ans = 0;
  long long n, m, k;
  cin >> n >> m >> k;
  n--;
  for (long long s = 0; s <= m + k; s++) {
    long long res = 0;
    for (long long j = max(0LL, s - m); j <= min(k, s); j++) {
      res += (ent[n + s][j] * ent[n + s - j][s - j]) % mod;
    }
    res %= mod;
    res *= poww[m + k - s];
    res %= mod;
    ans += res;
  }
  cout << ans % mod;
}
