#include <iostream>
using namespace std;
int binomialCoeff(int n, int k)
{
int C[n+1][k+1];
int i, j;
if(n<k){
return n*k;
}
else{
// Caculate value of Binomial Coefficient in bottom up manner
for (i = 0; i <= n; i++)
{
for (j = 0; j <= min(i, k); j++)
{
// Base Cases
if (j == 0 || j == i)
C[i][j] = 1;
// Calculate value using previosly stored values
else
C[i][j] = C[i-1][j-1] + C[i-1][j];
}
}
}
return C[n][k];
}
int main()
{
int q;
cin>>q;
int l[q][4];
for(int i=0;i<q;i++){
for(int j=0;j<4;j++){
cin>>l[i][j];
}
}
int p=1;
int sum=0;
for(int i=0;i<q;i++){
sum=0;
for(int j=l[q][0];j<=l[q][1];j++){
p=1;
for(int k=l[q][2];k<=l[q][3];k++){
p=p*binomialCoeff(j,k);
}
sum=sum+p;
}
cout<<sum;
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IGJpbm9taWFsQ29lZmYoaW50IG4sIGludCBrKQp7CiAgICBpbnQgQ1tuKzFdW2srMV07CiAgICBpbnQgaSwgajsKICAgIGlmKG48ayl7CiAgICAgICAgcmV0dXJuIG4qazsKICAgIH0KICAgIGVsc2V7CiAgICAvLyBDYWN1bGF0ZSB2YWx1ZSBvZiBCaW5vbWlhbCBDb2VmZmljaWVudCBpbiBib3R0b20gdXAgbWFubmVyCiAgICBmb3IgKGkgPSAwOyBpIDw9IG47IGkrKykKICAgIHsKICAgICAgICBmb3IgKGogPSAwOyBqIDw9IG1pbihpLCBrKTsgaisrKQogICAgICAgIHsKICAgICAgICAgICAgLy8gQmFzZSBDYXNlcwogICAgICAgICAgICBpZiAoaiA9PSAwIHx8IGogPT0gaSkKICAgICAgICAgICAgICAgIENbaV1bal0gPSAxOwogCiAgICAgICAgICAgIC8vIENhbGN1bGF0ZSB2YWx1ZSB1c2luZyBwcmV2aW9zbHkgc3RvcmVkIHZhbHVlcwogICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICBDW2ldW2pdID0gQ1tpLTFdW2otMV0gKyBDW2ktMV1bal07CiAgICAgICAgfQogICAgfQogICAgfQogICAgcmV0dXJuIENbbl1ba107Cn0KCmludCBtYWluKCkKewogICAgaW50IHE7CiAgICBjaW4+PnE7CiAgICBpbnQgbFtxXVs0XTsKICAgIGZvcihpbnQgaT0wO2k8cTtpKyspewogICAgICAgIGZvcihpbnQgaj0wO2o8NDtqKyspewogICAgICAgICAgICBjaW4+PmxbaV1bal07CiAgICAgICAgfQogICAgfQogICAgaW50IHA9MTsKICAgIGludCBzdW09MDsKICAgIGZvcihpbnQgaT0wO2k8cTtpKyspewogICAgICAgIHN1bT0wOwogICAgICAgIGZvcihpbnQgaj1sW3FdWzBdO2o8PWxbcV1bMV07aisrKXsKICAgICAgICAgICAgcD0xOwogICAgICAgICAgICBmb3IoaW50IGs9bFtxXVsyXTtrPD1sW3FdWzNdO2srKyl7CiAgICAgICAgICAgICAgICBwPXAqYmlub21pYWxDb2VmZihqLGspOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHN1bT1zdW0rcDsKICAgICAgICB9CiAgICAgICAgY291dDw8c3VtOwogICAgfQogICAgcmV0dXJuIDA7Cn0=