#include<bits/stdc++.h>
using namespace std;
#define F(i,a,b) for(int i=a;i<=(b);++i)
#define LL long long
#define Mod 1000000007

LL N,M,K,Ans,P3[600001];
LL Frc[900001],Fnv[900001];

inline LL C(int N,int M){
	if( M<0 || M>N ) return 0ll;
	return Frc[N]*Fnv[M]%Mod*Fnv[N-M]%Mod;
}

int main(){
	scanf("%lld%lld%lld",&N,&M,&K);
	
	P3[0]=1;
	F(i,1,M+K) P3[i]=P3[i-1]*3%Mod;
	
	Frc[0]=1;
	F(i,1,N+M+K) Frc[i]=Frc[i-1]*i%Mod;
	
	Fnv[0]=Fnv[1]=1;
	F(i,2,N+M+K) Fnv[i]=(Mod-Mod/i)*Fnv[Mod%i]%Mod;
	F(i,2,N+M+K) Fnv[i]=Fnv[i-1]*Fnv[i]%Mod;
	
	LL Thi=1;
	F(i,N,N+M+K){
		Ans=(Ans+P3[N+M+K-i]*C(i-1,N-1)%Mod*Thi)%Mod;
		Thi=(2*Thi-C(i-N,i-N-K)-C(i-N,M)+2*Mod)%Mod;
	}
	
	printf("%lld",Ans);
	
	return 0;
}