#include <bits/stdc++.h>
using namespace std;
int mod = 1000000007;
long long a[3001];
long long inv[3001];
long long fact[3001];
long long invfact[3001];
void calc_inv(int n, int mod) {
  inv[1] = 1;
  for (int i = 2; i <= n; i++) inv[i] = inv[mod % i] * (mod - mod / i) % mod;
  fact[0] = invfact[0] = 1;
  for (int i = 1; i <= n; i++) fact[i] = fact[i - 1] * i % mod;
  for (int i = 1; i <= n; i++) invfact[i] = invfact[i - 1] * inv[i] % mod;
}
long long comb(int x, int y, int mod) {
  return fact[x] * invfact[y] % mod * invfact[x - y] % mod;
}
int main() {
  int n, m, k, i, j;
  long long ans = 0;
  scanf("%d %d %d", &n, &m, &k);
  if (n > 1000 || m > 1000 || k > 1000) return 0;
  calc_inv(3000, mod);
  a[0] = 1;
  for (i = 1; i <= 3000; i++) a[i] = a[i - 1] * 3 % mod;
  for (i = 0; i <= m; i++) {
    for (j = 0; j <= k; j++) {
      int c = n - 1 + m - i + k - j;
      ans += a[i + j] * comb(c, n - 1, mod) % mod *
             comb(c - n + 1, m - i, mod) % mod;
    }
  }
  printf("%lld\n", ans % mod);
  return 0;
}
