#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
using namespace std;
using namespace __gnu_pbds; // needed for tree + PBDS
#define pb push_back
#define all(x) x.begin(), x.end()
typedef long long ll;
const ll INF = (ll)1e18;
const ll MOD = 998244353;
const double eps = 1e-6 ;
template <class T>
using ordered_set = tree<
T,
null_type,
less<T>,
rb_tree_tag,
tree_order_statistics_node_update
>;
void solve() {
ll a , b ; cin >> a >> b ;
ll x = (a+4)/2 , y = a+b ;
ll delta = x*x - 4 * y ;
long double r = sqrtl(delta ) ;
cout << r <<endl ;
cout << x << " " << y << " " << delta <<" " << r << endl ;
long double test1 = (-x-r)/2 , test2 = (-x+r)/2 ;
ll ans = 2e9 ;
cout << test1 <<" " << test2 << endl ;
ll test11 = test1 , test22 = test2 ;
if (fabsl(test11 - test1) <=eps && test1 > 0 ) {
ans = min (ans ,test11 ) ;
cout << test11 << "hhh" << endl ;
}
if (fabsl(test22 - test2) <=eps && test2 > 0 ) {
ans = min (ans ,test22) ;
cout << test22 << "hhh" << endl ;
}
ll n = (a+ 4) /2 - ans ;
cout << n << " " << ans << endl ;
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
#ifndef ONLINE_JUDGE
freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);
#endif
int t = 1 ; cin >> t;
int maxi = 200000 + 5;
while (t--) solve();
return 0;
}
ICAgICNpbmNsdWRlIDxiaXRzL3N0ZGMrKy5oPgojaW5jbHVkZSA8ZXh0L3BiX2RzL2Fzc29jX2NvbnRhaW5lci5ocHA+CiNpbmNsdWRlIDxleHQvcGJfZHMvdHJlZV9wb2xpY3kuaHBwPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwp1c2luZyBuYW1lc3BhY2UgX19nbnVfcGJkczsgICAvLyBuZWVkZWQgZm9yIHRyZWUgKyBQQkRTCgojZGVmaW5lIHBiIHB1c2hfYmFjawojZGVmaW5lIGFsbCh4KSB4LmJlZ2luKCksIHguZW5kKCkKdHlwZWRlZiBsb25nIGxvbmcgbGw7CmNvbnN0IGxsIElORiA9IChsbCkxZTE4Owpjb25zdCBsbCBNT0QgPSA5OTgyNDQzNTM7CmNvbnN0IGRvdWJsZSBlcHMgPSAxZS02IDsKdGVtcGxhdGUgPGNsYXNzIFQ+CnVzaW5nIG9yZGVyZWRfc2V0ID0gdHJlZTwKICAgIFQsCiAgICBudWxsX3R5cGUsCiAgICBsZXNzPFQ+LAogICAgcmJfdHJlZV90YWcsCiAgICB0cmVlX29yZGVyX3N0YXRpc3RpY3Nfbm9kZV91cGRhdGUKPjsKdm9pZCBzb2x2ZSgpIHsKICAgIGxsIGEgLCBiIDsgY2luID4+IGEgID4+IGIgOwogICAgbGwgeCA9IChhKzQpLzIgLCB5ID0gYStiIDsKICAgIGxsIGRlbHRhID0geCp4IC0gNCAqIHkgIDsKICAgIGxvbmcgZG91YmxlIHIgID0gc3FydGwoZGVsdGEgKSA7CiAgICBjb3V0IDw8IHIgPDxlbmRsIDsKICAgIGNvdXQgPDwgeCA8PCAiICIgPDwgeSA8PCAiICIgPDwgZGVsdGEgPDwiICIgPDwgciA8PCBlbmRsIDsKICAgIGxvbmcgIGRvdWJsZSB0ZXN0MSA9ICAoLXgtcikvMiAsIHRlc3QyID0gKC14K3IpLzIgOwogICAgbGwgYW5zID0gMmU5ICAgOwogICAgY291dCA8PCB0ZXN0MSA8PCIgIiA8PCB0ZXN0MiA8PCBlbmRsIDsKICAgIGxsIHRlc3QxMSA9IHRlc3QxICwgdGVzdDIyID0gdGVzdDIgIDsKICAgIGlmIChmYWJzbCh0ZXN0MTEgLSB0ZXN0MSkgPD1lcHMgJiYgdGVzdDEgPiAwICkgewogICAgICAgIGFucyA9IG1pbiAoYW5zICx0ZXN0MTEgKSA7CiAgICAgICAgY291dCA8PCB0ZXN0MTEgPDwgImhoaCIgPDwgZW5kbCA7CiAgICB9CiAgICBpZiAoZmFic2wodGVzdDIyIC0gdGVzdDIpIDw9ZXBzICYmIHRlc3QyID4gMCApIHsKICAgICAgICBhbnMgPSBtaW4gKGFucyAsdGVzdDIyKSA7CiAgICAgICAgY291dCA8PCB0ZXN0MjIgPDwgImhoaCIgPDwgZW5kbCA7CiAgICB9CiAgICBsbCBuID0gKGErIDQpIC8yIC0gYW5zIDsKICAgIGNvdXQgPDwgbiA8PCAiICIgPDwgYW5zICA8PCBlbmRsIDsKIH0KCmludCBtYWluKCkgewogICAgaW9zOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOwogICAgY2luLnRpZShudWxscHRyKTsKI2lmbmRlZiBPTkxJTkVfSlVER0UKICAgIGZyZW9wZW4oImlucHV0LnR4dCIsICJyIiwgc3RkaW4pOwogICAgZnJlb3Blbigib3V0cHV0LnR4dCIsICJ3Iiwgc3Rkb3V0KTsKI2VuZGlmCiAgICBpbnQgdCA9IDEgOyBjaW4gPj4gdDsKICAgIGludCBtYXhpID0gMjAwMDAwICsgNTsKICAgIHdoaWxlICh0LS0pIHNvbHZlKCk7CiAgICByZXR1cm4gMDsKfQ==