#include<bits/stdc++.h>
#define ll long long
using namespace std;
const ll p=1e9+7;
ll ans,n,m,k,jc[1000010],ny[1000010];
ll ksm(ll x,ll y){
	ll xlh=1;
	while(y){
		if(y&1)xlh=xlh*x%p;
		x=x*x%p;
		y/=2;
	}
	return xlh;
}
ll C(ll x,ll y){
	return jc[x]*ny[y]%p*ny[x-y]%p;
}
int main(){
	ll i,j;
	scanf("%lld%lld%lld",&n,&m,&k);
	jc[0]=ny[0]=1;
	for(i=1;i<=n+m+k;i++)jc[i]=jc[i-1]*i%p,ny[i]=ksm(jc[i],p-2);
	if(m<k)swap(m,k);
	for(i=0,j=1;i<=m+k;i++){
		ans=(ans+C(n-1+i,n-1)*ksm(3,m+k-i)%p*j%p)%p;
		if(i<k)j=j*2%p;
		 else if(i>=m)j=(j*2-C(i,k)-C(i,i-m)+p*2)%p;
		  else j=(j*2-C(i,k)+p)%p;
	}
	printf("%lld",ans);
}