#include <bits/stdc++.h>
using namespace std;
const long long mod = 1e9 + 7;
const int N = 11111;
int a, b, c;
long long three[N];
long long fac[N], facinv[N], inv[N];
long long C(int n, int k) {
  return fac[n] * facinv[k] % mod * facinv[n - k] % mod;
}
long long cal(int a, int b, int c) {
  return C(a + b - 1, b) * C(a + b + c - 1, c) % mod;
}
int main() {
  fac[0] = 1;
  for (int i = 1; i < N; i++) fac[i] = fac[i - 1] * i % mod;
  inv[1] = 1;
  for (int i = 2; i < N; i++) inv[i] = inv[mod % i] * (mod - mod / i) % mod;
  facinv[0] = 1;
  for (int i = 1; i < N; i++) facinv[i] = facinv[i - 1] * inv[i] % mod;
  three[0] = 1;
  for (int i = 1; i < N; i++) three[i] = three[i - 1] * 3 % mod;
  cin >> a >> b >> c;
  long long ans = 0;
  for (int i = 0; i <= b; i++)
    for (int j = 0; j <= c; j++) {
      ans += three[b + c - i - j] * cal(a, i, j) % mod;
      ans %= mod;
    }
  cout << ans << endl;
  return 0;
}
