#include <bits/stdc++.h>
#define ll long long
#define ull unsigned long long
#define all(x) x.begin(), x.end()
#define endl '\n'
using namespace std;
//vector<vector<int>> arr(n + 1, vector<int>(m + 1));
bool check_bit(long long n,long long i) {
return (n>>i)&1;
}
int count_ones(ll n) {
return __builtin_popcountll(n);
}
int getBit(int num,int pos)
{
num=num>>pos;
return num&1;
}
int gcd(int a, int b) {
if (b == 0)
return a;
return gcd(b, a % b);
}
bool isvowel(char c) {
return (c == 'a' || c == 'e' || c == 'i' || c == 'o'|| c == 'u');
}
bool is_equal(vector<int>v,int x) {
for(int i=0;i<v.size();i++) {
if(v[i]!=x) return false;
}
return true;
}
void solve() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
//freopen("input.txt","r",stdin);
//freopen("output.txt","w",stdout);
int t=1;
cin>>t;
while(t--) {
double x;
cin>>x;
double l=0,r=1e3+1;
double iter=600;
bool flag=false;
while(l<=r&&iter--) {
double mid=(l+r)/2;
double x2=abs(x-mid);
if ((x2+mid==x)&&(ceil(x2*mid)==x)) {
if (mid<x2) {
cout<<fixed<<setprecision(9)<<"Y"<<" "<<x2<<" "<<mid<<endl;
}
else {
cout<<fixed<<setprecision(9)<<"Y"<<" "<<mid<<" "<<x2<<endl;
}
flag=true;
break;
}
if ((mid+x2)>x||ceil(mid*x2)>x) {
r=mid;
}
else {
l=mid;
}
}
if (!flag) {
cout<<"N\n";
}
}
}
int main() {
solve();
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgbGwgbG9uZyBsb25nCiNkZWZpbmUgdWxsIHVuc2lnbmVkIGxvbmcgbG9uZwojZGVmaW5lIGFsbCh4KSB4LmJlZ2luKCksIHguZW5kKCkKI2RlZmluZSBlbmRsICdcbicKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKLy92ZWN0b3I8dmVjdG9yPGludD4+IGFycihuICsgMSwgdmVjdG9yPGludD4obSArIDEpKTsKYm9vbCBjaGVja19iaXQobG9uZyBsb25nIG4sbG9uZyBsb25nIGkpIHsKICAgIHJldHVybiAobj4+aSkmMTsKfQppbnQgY291bnRfb25lcyhsbCBuKSB7CiAgICByZXR1cm4gX19idWlsdGluX3BvcGNvdW50bGwobik7Cn0KaW50IGdldEJpdChpbnQgbnVtLGludCBwb3MpCnsKICAgIG51bT1udW0+PnBvczsKICAgIHJldHVybiBudW0mMTsKfQppbnQgZ2NkKGludCBhLCBpbnQgYikgewogICAgaWYgKGIgPT0gMCkKICAgICAgICByZXR1cm4gYTsKICAgIHJldHVybiBnY2QoYiwgYSAlIGIpOwp9CmJvb2wgaXN2b3dlbChjaGFyIGMpIHsKICAgIHJldHVybiAoYyA9PSAnYScgfHwgYyA9PSAnZScgfHwgYyA9PSAnaScgfHwgYyA9PSAnbyd8fCBjID09ICd1Jyk7Cn0KYm9vbCBpc19lcXVhbCh2ZWN0b3I8aW50PnYsaW50IHgpIHsKICAgIGZvcihpbnQgaT0wO2k8di5zaXplKCk7aSsrKSB7CiAgICAgICAgaWYodltpXSE9eCkgcmV0dXJuIGZhbHNlOwogICAgfQogICAgcmV0dXJuIHRydWU7Cn0Kdm9pZCBzb2x2ZSgpIHsKICAgIGlvczo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsKICAgIGNpbi50aWUobnVsbHB0cik7CiAgICAvL2ZyZW9wZW4oImlucHV0LnR4dCIsInIiLHN0ZGluKTsKICAgIC8vZnJlb3Blbigib3V0cHV0LnR4dCIsInciLHN0ZG91dCk7CiAgICBpbnQgdD0xOwogICAgY2luPj50OwogICAgd2hpbGUodC0tKSB7CiAgICAgICAgZG91YmxlIHg7CiAgICAgICAgY2luPj54OwogICAgICAgIGRvdWJsZSBsPTAscj0xZTMrMTsKICAgICAgICBkb3VibGUgaXRlcj02MDA7CiAgICAgICAgYm9vbCBmbGFnPWZhbHNlOwogICAgICAgIHdoaWxlKGw8PXImJml0ZXItLSkgewogICAgICAgICAgICBkb3VibGUgbWlkPShsK3IpLzI7CiAgICAgICAgICAgIGRvdWJsZSB4Mj1hYnMoeC1taWQpOwogICAgICAgICAgICBpZiAoKHgyK21pZD09eCkmJihjZWlsKHgyKm1pZCk9PXgpKSB7CiAgICAgICAgICAgICAgICBpZiAobWlkPHgyKSB7CiAgICAgICAgICAgICAgICAgICAgY291dDw8Zml4ZWQ8PHNldHByZWNpc2lvbig5KTw8IlkiPDwiICI8PHgyPDwiICI8PG1pZDw8ZW5kbDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgICAgIGNvdXQ8PGZpeGVkPDxzZXRwcmVjaXNpb24oOSk8PCJZIjw8IiAiPDxtaWQ8PCIgIjw8eDI8PGVuZGw7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBmbGFnPXRydWU7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoKG1pZCt4Mik+eHx8Y2VpbChtaWQqeDIpPngpIHsKICAgICAgICAgICAgICAgIHI9bWlkOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgbD1taWQ7CiAgICAgICAgICAgIH0KCiAgICAgICAgfQogICAgICAgIGlmICghZmxhZykgewogICAgICAgICAgICBjb3V0PDwiTlxuIjsKICAgICAgICB9CiAgICB9Cgp9CmludCBtYWluKCkgewogICAgc29sdmUoKTsKfQ==