#include <bits/stdc++.h>
using namespace std;
struct Math {
  static int egcd(int a, int b) {
    int r = a, o_r = b;
    int s = 0, o_s = 1;
    int t = 1, o_t = 0;
    while (r != 0) {
      int q = o_r / r;
      int tem;
      tem = r;
      r = o_r - r * q;
      o_r = tem;
      tem = o_s;
      o_s = o_s - s * q;
      o_s = tem;
      tem = t;
      t = o_t - t * q;
      o_t = tem;
    }
    return o_t;
  }
  static int MOD;
  static long long divide(long long a, long long b) {
    return (((egcd(b, MOD) % MOD + MOD) % MOD) * a) % MOD;
  }
  static int fact(int n) {
    static vector<int> F;
    if (F.size() <= n) {
      int oSZ = F.size();
      F.resize(n + 1);
      if (oSZ == 0) F[0] = 1, oSZ++;
      for (int i = oSZ; i <= n; ++i) F[i] = (1LL * F[i - 1] * i) % MOD;
    }
    return F[n];
  }
  static int ifact(int n) {
    static vector<int> F;
    int fa = fact(n);
    if (F.size() <= n) {
      int oSZ = F.size();
      F.resize(n + 1);
    }
    if (F[n] == 0) {
      return F[n] = divide(1, fa);
    }
    return F[n];
  }
  static int catalan(int n) { return divide(ncr(2 * n, n), n + 1); }
  static int ncr(int n, int k) {
    if (k < 0 || n < 0 || n < k) return 0;
    return mul(fact(n), ifact(k), ifact(n - k));
  }
  static int mul(int a, int b) { return (1LL * (a % MOD) * (b % MOD)) % MOD; }
  static int mul(int a, int b, int c) {
    return (1LL * mul(a, b) * (c % MOD)) % MOD;
  }
  static int mul(int a, int b, int c, int d) {
    return (1LL * mul(a, b) * mul(c, d)) % MOD;
  }
  static int modPow(int b, int e) {
    if (e == 0) return 1;
    int sq = modPow(b, e / 2);
    sq = mul(sq, sq);
    if (e & 1) sq = mul(sq, b);
    return sq;
  }
};
int Math::MOD = 1000000007;
int main() {
  int N, M, K;
  cin >> N >> M >> K;
  long long W = 0;
  for (int i = 0; i <= M; ++i) {
    for (int j = 0; j <= K; ++j) {
      int a = N - 1, b = i, c = j;
      int tot = a + b + c;
      W += Math::mul(Math::ncr(tot, a), Math::ncr(tot - a, b),
                     Math::modPow(3, M + K - b - c));
    }
  }
  cout << W % Math::MOD << endl;
}
