#include <bits/stdc++.h>
using namespace std;
const int N = 900005, P = 1e9 + 7;
int n, m, k, fac[N], ifac[N], p3[N], ans;
inline int fpow(int a, int t) {
  static int r;
  for (r = 1; t; t >>= 1, a = (long long)a * a % P)
    if (t & 1) r = (long long)r * a % P;
  return r;
}
inline int C2(int n, int a, int b) {
  return (long long)fac[n] * ifac[a] % P * ifac[b] % P * ifac[n - a - b] % P;
}
int main() {
  cin >> n >> m >> k;
  fac[0] = p3[0] = 1;
  for (int i = 1; i <= n + m + k; i++)
    fac[i] = (long long)fac[i - 1] * i % P, p3[i] = p3[i - 1] * 3u % P;
  ifac[n + m + k] = fpow(fac[n + m + k], P - 2);
  for (int i = n + m + k; i >= 1; i--) ifac[i - 1] = (long long)ifac[i] * i % P;
  for (int i = 0; i <= m + k; i++)
    for (int j = 0; j <= i; j++)
      if (j <= m && i - j <= k)
        ans = (ans + (long long)p3[m + k - i] * C2(n + i - 1, n - 1, j)) % P;
  printf("%d\n", ans);
  return 0;
}
