code:
#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;
typedef double ld;
const ld eps = 1e-10;
ld a, b, l, r;
ld getf(ld x){return b / a * sqrt(a * a - x * x);}
ld cal(ld l, ld r){
ld mid = (l + r) / 2;
return (r - l) * (getf(l) + 4 * getf(mid) + getf(r)) / 6;
}
ld simpson(ld l, ld r){
ld mid = (l + r)/ 2;
ld sa = cal(l, r);
ld la = cal(l, mid), ra = cal(mid, r);
if(fabs(sa - la - ra) <= eps) return sa;
return simpson(l, mid) + simpson(mid, r);
}
int main(){
int t;
cin >> t;
while(t--){
cin >> a >> b >> l >> r;
cout <<fixed << setprecision(3) << 2 * simpson(l, r) << endl;
}
return 0;
}