#include <iostream>
#include <cstdlib>
#include <iomanip>
#include <cmath>
using namespace std;
int main()
{
long long ile;
cin>>ile;
for (int i=0; i<ile; i++)
{
long double x1,x2,y1,y2,d1,d2;
cin>>x1>>y1>>d1>>x2>>y2>>d2;
long double length, wynik;
if (x1==x2&&y1==y2)
{
wynik= d1>d2 ? d2:d1;
cout<<fixed<<setprecision(2)<<2*wynik<<endl;
}
else
{
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 (d1-length>0)
{
if (d1>=2*d2)
wynik=2*d2;
else
wynik=d1-(length-d2);
}
else if (d2-length>0)
{
if (d2>=2*d1)
wynik=2*d1;
else
wynik=d2-(length-d1);
}
else
wynik=d1+d2-length;
cout<<fixed<<setprecision(2)<<wynik<<endl;
}
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y3N0ZGxpYj4KI2luY2x1ZGUgPGlvbWFuaXA+CiNpbmNsdWRlIDxjbWF0aD4KCgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKQp7CiAgICBsb25nIGxvbmcgaWxlOwogICAgY2luPj5pbGU7CiAgICBmb3IgKGludCBpPTA7IGk8aWxlOyBpKyspCiAgICB7CiAgICAgICAgbG9uZyBkb3VibGUgeDEseDIseTEseTIsZDEsZDI7CiAgICAgICAgY2luPj54MT4+eTE+PmQxPj54Mj4+eTI+PmQyOwogICAgICAgIGxvbmcgZG91YmxlIGxlbmd0aCwgd3luaWs7CiAgICAgICAgaWYgKHgxPT14MiYmeTE9PXkyKQogICAgICAgIHsKICAgICAgICAgICAgd3luaWs9IGQxPmQyID8gZDI6ZDE7CiAgICAgICAgICAgIGNvdXQ8PGZpeGVkPDxzZXRwcmVjaXNpb24oMik8PDIqd3luaWs8PGVuZGw7CgogICAgICAgIH0KICAgICAgICBlbHNlCiAgICAgICAgewogICAgICAgICAgICBsb25nIGxvbmcgYSxiOwogICAgICAgICAgICBhPWFicyh4MS14Mik7CiAgICAgICAgICAgIGI9YWJzKHkxLXkyKTsKICAgICAgICAgICAgbGVuZ3RoPXNxcnQoYSphK2IqYik7CiAgICAgICAgICAgIGlmIChsZW5ndGg+PShkMStkMikpCiAgICAgICAgICAgICAgICB3eW5paz0wLjAwOwoKICAgICAgICAgICAgZWxzZSBpZiAoZDEtbGVuZ3RoPjApCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGlmIChkMT49MipkMikKICAgICAgICAgICAgICAgICAgICB3eW5paz0yKmQyOwoKICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICB3eW5paz1kMS0obGVuZ3RoLWQyKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgZWxzZSBpZiAoZDItbGVuZ3RoPjApCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGlmIChkMj49MipkMSkKICAgICAgICAgICAgICAgICAgICB3eW5paz0yKmQxOwoKICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICB3eW5paz1kMi0obGVuZ3RoLWQxKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgd3luaWs9ZDErZDItbGVuZ3RoOwoKICAgICAgICAgICAgY291dDw8Zml4ZWQ8PHNldHByZWNpc2lvbigyKTw8d3luaWs8PGVuZGw7CiAgICAgICAgfQoKICAgIH0KCiAgICByZXR1cm4gMDsKfQo=