#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
int main()
{
long ile;
cin>>ile;
for (long i=0; i<ile; i++)
{
int x1,x2,y1,y2;
long d1,d2;
cin>>x1>>y1>>d1>>x2>>y2>>d2;
double length, wynik;
if (x1-x2+y1-y2!=0)
{
long w = d1>d2 ? d1:d2;
long m = d1>d2 ? d2:d1;
long long a,b;
a=abs(x1-x2);
b=abs(y1-y2);
length=sqrt(a*a+b*b);
if (length>=(d1+d2))
wynik=0.00;
else if (w-(length+m)<0)
wynik=d1+d2-length;
else
{
if (w>=2*m)
wynik=2*m;
else
wynik=w-(length-m);
}
cout<<fixed<<setprecision(2)<<wynik<<endl;
}
else
{
wynik= d1>d2 ? d2:d1;
cout<<fixed<<setprecision(2)<<2*wynik<<endl;
}
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8aW9tYW5pcD4KI2luY2x1ZGUgPGNtYXRoPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBtYWluKCkKewogICAgbG9uZyBpbGU7CiAgICBjaW4+PmlsZTsKICAgIGZvciAobG9uZyBpPTA7IGk8aWxlOyBpKyspCiAgICB7CiAgICAgICAgaW50IHgxLHgyLHkxLHkyOwogICAgICAgIGxvbmcgZDEsZDI7CiAgICAgICAgY2luPj54MT4+eTE+PmQxPj54Mj4+eTI+PmQyOwogICAgICAgIGRvdWJsZSBsZW5ndGgsIHd5bmlrOwogICAgICAgIGlmICh4MS14Mit5MS15MiE9MCkKICAgICAgICB7CiAgICAgICAgICAgIGxvbmcgdyA9IGQxPmQyID8gZDE6ZDI7CiAgICAgICAgICAgIGxvbmcgbSA9IGQxPmQyID8gZDI6ZDE7CiAgICAgICAgICAgIGxvbmcgbG9uZyBhLGI7CiAgICAgICAgICAgIGE9YWJzKHgxLXgyKTsKICAgICAgICAgICAgYj1hYnMoeTEteTIpOwogICAgICAgICAgICBsZW5ndGg9c3FydChhKmErYipiKTsKICAgICAgICAgICAgaWYgKGxlbmd0aD49KGQxK2QyKSkKICAgICAgICAgICAgICAgIHd5bmlrPTAuMDA7CgogICAgICAgICAgICBlbHNlIGlmICh3LShsZW5ndGgrbSk8MCkKICAgICAgICAgICAgICAgIHd5bmlrPWQxK2QyLWxlbmd0aDsKCiAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWYgKHc+PTIqbSkKICAgICAgICAgICAgICAgICAgICB3eW5paz0yKm07CgogICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgICAgIHd5bmlrPXctKGxlbmd0aC1tKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBjb3V0PDxmaXhlZDw8c2V0cHJlY2lzaW9uKDIpPDx3eW5pazw8ZW5kbDsKICAgICAgICB9CgogICAgICAgIGVsc2UKICAgICAgICB7CiAgICAgICAgICAgIHd5bmlrPSBkMT5kMiA/IGQyOmQxOwogICAgICAgICAgICBjb3V0PDxmaXhlZDw8c2V0cHJlY2lzaW9uKDIpPDwyKnd5bmlrPDxlbmRsOwogICAgICAgIH0KICAgIH0KCiAgICByZXR1cm4gMDsKfQoK