#include<bits/stdc++.h>
#define ll long long
#define mod 1000000007
using namespace std;

const int N=9e5+10;

ll fac[N],inv[N],pw[N];

ll ksm(ll a,ll b){
	ll res=1;
	while(b){
		if(b&1) res=res*a%mod;
		a=a*a%mod,b>>=1;
	}
	return res;
}

ll C(ll n,ll m){
	return fac[n]*inv[m]%mod*inv[n-m]%mod;
}

int main(){
	ll n,m,k,j=1,ans=0;
	scanf("%lld%lld%lld",&n,&m,&k);
	if(k>m) swap(k,m);
	fac[0]=inv[0]=pw[0]=1;
	for(int i=1;i<=n+k+m;i++) fac[i]=fac[i-1]*i%mod,pw[i]=pw[i-1]*3%mod;
	inv[n+k+m]=ksm(fac[n+k+m],mod-2);
	for(int i=n+k+m-1;i;i--) inv[i]=inv[i+1]*(i+1)%mod;
	for(int i=0;i<=m+k;i++){
		ans=(ans+C(n+i-1,n-1)*pw[m+k-i]%mod*j%mod)%mod;
		if(i<k) j=2*j%mod;
		else if(i>=m) j=(2*j-C(i,k)-C(i,i-m)+2*mod)%mod;
		else j=(2*j-C(i,k)+mod)%mod;
	}
	printf("%lld\n",(ans+mod)%mod);
	return 0;
}