#include <iostream>
#include <cstdlib>
#include <cmath>
using namespace std;
int main()
{
int n;
double x1, y1, r1, x2, y2, r2;
double d,l;
cin >> n;
cout.setf(ios::fixed);
cout.precision(2);
for (int i = 0; i < n; i++)
{
cin >> x1; cin >> y1; cin >> r1;
cin >> x2; cin >> y2; cin >> r2;
d = sqrt(pow(x1 - x2, 2) + pow(y1 - y2, 2));
if (r1 + r2 <= d) //okregi rozlaczne/styczne
l = 0;
else if (d > abs(r1 - r2) && d < r1 + r2)//okregi przecinaja sie
l = r1 + r2 - d;
else if (d <= abs(r1 - r2)) //jeden w drugim
{
if (r1 < r2)
l = 2 * r1;
else
l = 2 * r2;
}
cout << l << endl;
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y3N0ZGxpYj4KI2luY2x1ZGUgPGNtYXRoPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBtYWluKCkKewoJaW50IG47Cglkb3VibGUgeDEsIHkxLCByMSwgeDIsIHkyLCByMjsKCWRvdWJsZSBkLGw7CgljaW4gPj4gbjsKCWNvdXQuc2V0Zihpb3M6OmZpeGVkKTsKCWNvdXQucHJlY2lzaW9uKDIpOwoJZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpKyspCgl7CgkJY2luID4+IHgxOyBjaW4gPj4geTE7IGNpbiA+PiByMTsKCQljaW4gPj4geDI7IGNpbiA+PiB5MjsgY2luID4+IHIyOwoJCWQgPSBzcXJ0KHBvdyh4MSAtIHgyLCAyKSArIHBvdyh5MSAtIHkyLCAyKSk7CgkJIGlmIChyMSArIHIyIDw9IGQpIC8vb2tyZWdpIHJvemxhY3puZS9zdHljem5lCgkJCWwgPSAwOwoJCWVsc2UgaWYgKGQgPiBhYnMocjEgLSByMikgJiYgZCA8IHIxICsgcjIpLy9va3JlZ2kgcHJ6ZWNpbmFqYSBzaWUKCQkJbCA9IHIxICsgcjIgLSBkOwoJCWVsc2UgaWYgKGQgPD0gYWJzKHIxIC0gcjIpKSAvL2plZGVuIHcgZHJ1Z2ltCgkJewoJCQlpZiAocjEgPCByMikKCQkJCWwgPSAyICogcjE7CgkJCWVsc2UKCQkJCWwgPSAyICogcjI7CgkJfQoJCQljb3V0IDw8IGwgPDwgZW5kbDsKCX0KICAgIHJldHVybiAwOwp9