#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using ull = unsigned long long;
using ld = long double;
const ld M_PI = acos(-1.0);
const ld eps = 1e-9;
const int INF = 2000000000;
const ll LINF = 1ll * INF * INF;
const ll MOD = 1000000007;
const int N = 1010;
ll fact[3 * N];
ll Pow(ll a, ll b) {
  ll x = 1, y = a;
  while (b) {
    if (b % 2) x = x * y % MOD;
    y = y * y % MOD;
    b /= 2;
  }
  return x;
}
ll Inv(ll x) { return Pow(x, MOD - 2); }
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  int n, m, k;
  cin >> n >> m >> k;
  fact[0] = 1;
  for (int i = 1; i < 3 * N; ++i) fact[i] = fact[i - 1] * i % MOD;
  ll ans = 0;
  for (int x = 0; x <= m; ++x)
    for (int y = 0; y <= k; ++y) {
      ll add = fact[x + y + n - 1] * Inv(fact[x]) % MOD * Inv(fact[y]) % MOD *
               Inv(fact[n - 1]) % MOD;
      add *= Pow(3, m + k - x - y);
      ans += add;
      ans %= MOD;
    }
  cout << ans << '\n';
}
