#include <bits/stdc++.h>
using namespace std;
int MOD=1000000007;
int power(int i,int x){
if(!x)return 1;
long long tmp=power(i,x/2);
tmp*=tmp;
tmp%=MOD;
if(x&1)tmp*=i;
return (int)(tmp%MOD);
}
int fact[200001];
int inv[100001];
void compute(){
fact[0]=1;
inv[0]=1;
for(int i=1;i<=200000;i++){
long long tmp=((long long)fact[i-1])*i;
fact[i]=tmp%MOD;
if(i<=100000)
inv[i]=power(fact[i],MOD-2);
}
}
int main(){
ios::sync_with_stdio(0);
cin.tie(NULL);
compute();
int t=0,T;
cin>>T;
while(t<T){
int x1,y1,x2,y2;
cin>>x1>>y1>>x2>>y2;
x2-=x1;
y2-=y1;
long long ans=0,tmp;
for(int k=0;k<=min(x2,y2);k++){
tmp=fact[x2+y2-k];
tmp*=inv[k];
tmp%=MOD;
tmp*=inv[x2-k];
tmp%=MOD;
tmp*=inv[y2-k];
tmp%=MOD;
ans+=tmp;
ans%=MOD;
}
cout<<"Case "<<++t<<": "<<ans<<'\n';
}
}
Comments
Post a Comment