#include<bits/stdc++.h>
#define Mod 1000000007ll
#define Val(x) ((((long long)x) % Mod + Mod) % Mod)
using namespace std;
const int maxn = 300005 * 3;
int fac[maxn];
inline int Pow(int a,int n) {
	int ret = 1;
	int base = a;
	while(n) {
		if(n & 1)	ret = Val(ret*base);
		base = Val(base*base);
		n >>= 1;
	}
	return ret;
}
inline int inv(int a) {
	return Pow(a,Mod-2);
}
inline int C(int n,int m) {
	return Val(Val(fac[n]*inv(fac[m]))*inv(fac[n-m]));
}
int main() {
	ios::sync_with_stdio(0);
	cin.tie(0);
	int n,m,k;
	cin >> n >> m >> k; 

	fac[0] = 1;
	for(int i=1;i<maxn;i++)
		fac[i] = Val(fac[i-1] * i);
	
	int ans = 0 , sum = 1 , u1 = 0 , u2 = 0;
	for(int L=0;L<=m+k;L++) {
		int now = Val( Val( Val( Val(fac[L+n-1] * inv(fac[n-1])) * inv(fac[L])) * Pow(3,m+k-L)) * sum);
		ans = Val(ans + now);
		
		sum = Val(sum * 2 - C(L,u1) - C(L,L-u2));
		if(u1 + 1 <= m) {
			u1++;
			sum = Val(sum + C(L+1,u1));
		}
		if(u2 + 1 <= k) {
			u2++;
			sum = Val(sum + C(L+1,L+1-u2));
		}
	}
	cout << ans << endl;
	return 0;
}
