#include<bits/stdc++.h>
using namespace std;
const int N=20+10;
int t,a[N],n;
double l[N][105],ul[N][105],b[N];
double qpow(double a,int b){
double ans=1;
double base=a;
while(b){
if(b&1) ans=ans*base;
base=base*base;
b>>=1;
}
return ans;
}
int main(){
scanf("%d",&t);
while(t--){
scanf("%d",&n);
for(int i=1;i<=n;i++) scanf("%d%lf",&a[i],&b[i]);
if(n==1){cout<<"1.000000\n";continue;}
for(int i=1;i<=100;i++){
for(int j=1;j<=n;j++){
double tp=(1-qpow(b[j],i));
ul[j][i]=qpow(tp,a[j]);
l[j][i]=1-ul[j][i];
}
}
for(int i=1;i<=n;i++){
double ans=0;
for(int j=1;j<=99;j++){
double tp=(l[i][j]-l[i][j+1]);
for(int k=1;k<=n;k++){
if(k==i) continue;
tp*=ul[k][j];
}
ans+=tp;
}
if(i!=n) printf("%.6lf ",ans);
else printf("%.6lf\n",ans);
}
}
}