#include<bits/stdc++.h>
#define ll long long
#define mod 1000000007
#define cbn(x,y) ((ll)fac[x]*inv[y]%mod*inv[(x)-(y)]%mod)
#define N 1000005
using namespace std;

int n,A,B,C,pw[N],fac[N],inv[N];
int main(){
	scanf("%d%d%d",&A,&B,&C); n=A+B+C;
	fac[0]=inv[0]=inv[1]=pw[0]=1;
	int i;
	for (i=1; i<=n; i++) pw[i]=(ll)pw[i-1]*3%mod;
	for (i=1; i<=n; i++) fac[i]=(ll)fac[i-1]*i%mod;
	for (i=2; i<=n; i++) inv[i]=mod-(ll)inv[mod%i]*(mod/i)%mod;
	for (i=2; i<=n; i++) inv[i]=(ll)inv[i-1]*inv[i]%mod;
	int ans=0,tmp=1;
	for (i=0; i<=B+C; i++){
		if (i){
			tmp=(tmp<<1)%mod;
			if (i>B) tmp=(tmp-cbn(i-1,B)+mod)%mod;
			if (i>C) tmp=(tmp-cbn(i-1,C)+mod)%mod;
		}
		ans=(ans+(ll)pw[B+C-i]*cbn(A-1+i,i)%mod*tmp)%mod;
	}
	printf("%d\n",ans);
	return 0;
}
