#include<fstream>
using namespace std;
long long x1,x2,y1,y2,s,n,i,j,v[100]={1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181,6765,10946,17711,28657LLU,46368LLU,75025LLU,121393LLU,196418LLU,317811LLU,514229LLU,832040LLU,1346269LLU,2178309LLU,3524578LLU,5702887LLU,9227465LLU,14930352LLU,24157817LLU,39088169LLU,63245986LLU,102334155LLU,165580141LLU,267914296LLU,433494437LLU,701408733LLU,1134903170LLU,1836311903LLU,2971215073LLU,4807526976LLU,7778742049LLU,12586269025LLU,20365011074LLU,32951280099LLU,53316291173LLU,86267571272LLU,139583862445LLU,225851433717LLU,365435296162LLU,591286729879LLU,956722026041LLU,1548008755920LLU,2504730781961LLU,4052739537881LLU,6557470319842LLU,10610209857723LLU,17167680177565LLU,27777890035288LLU,44945570212853LLU,72723460248141LLU,117669030460994LLU,190392490709135LLU,308061521170129LLU,498454011879264LLU,806515533049393LLU,1304969544928657LLU,2111485077978050LLU,3416454622906707LLU,5527939700884757LLU,8944394323791464LLU,14472334024676221LLU,23416728348467685LLU,37889062373143906LLU,61305790721611591LLU,99194853094755497LLU,160500643816367088LLU,259695496911122585LLU,420196140727489673LLU,679891637638612258LLU,1100087778366101931LLU,1779979416004714189LLU,2880067194370816120LLU,4660046610375530309LLU,7540113804746346429LLU,0,0,0,0,0,0,0,0};
int main()
{ifstream q("fibo3.in");
ofstream w("fibo3.out");
q>>n;
for(i=1;i<=n;++i)
{q>>x1>>y1>>x2>>y2;//citesc coord.
for(j=1;j<92;++j)
{
if(x2+y2<v[j])
{j=93;//prea mare
continue;}
s+=((x2>v[j]-y1)?v[j]-y1:x2)-((x1<v[j]-y2)?v[j]-y2:x1)+1;}//unde trebuie,deci bag formula
w<<s<<"\n";
s=0;}
return 0;}