#include<bits/stdc++.h>
using namespace std;
const int N=200,MOD=1e9+7,INF=0x3f3f3f3f;

int dp[N][N][N];
int T,a,b,c;

int dfs(int x,int y,int z){
	if(dp[x][y][z]!=INF) return dp[x][y][z];
	if(x<=0||y<=0||z<=0) return dp[x][y][z]=1;
	else if(x<y&&y<z) return dp[x][y][z]=((dfs(x,y,z-1)+dfs(x,y-1,z-1))%MOD-dfs(x,y-1,z)+MOD)%MOD;
	else return dp[x][y][z]=(((dfs(x-1,y,z)+dfs(x-1,y-1,z))%MOD+dfs(x-1,y,z-1))%MOD-dfs(x-1,y-1,z-1)+MOD)%MOD;
}

void solve(){
		
	int res=dfs(a,b,c);
	
	cout<<res<<endl;
	return;
}

signed main(){
	ios::sync_with_stdio(false);
	cin.tie(0);
	
	memset(dp,0x3f,sizeof(dp));
	
	cin>>T;
	while(T--){
		cin>>a>>b>>c;
		solve();
	}
	
    return 0;
}