This documentation is automatically generated by online-judge-tools/verification-helper
// verification-helper: PROBLEM http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=2187
// verification-helper: ERROR 1e-5
#include<bits/stdc++.h>
using namespace std;
#define call_from_test
#include "../../tools/chminmax.cpp"
#include "../../tools/all_permutations.cpp"
#undef call_from_test
signed solve(){
cin.tie(0);
ios::sync_with_stdio(0);
const int n=9;
vector<int> as(n),bs(n);
for(int i=0;i<n;i++) cin>>as[i];
for(int i=0;i<n;i++) cin>>bs[i];
int num=0,cnt=0;
auto f=
[&](vector<int> vs){
int x=0,y=0;
for(int i=0;i<n;i++){
if(as[vs[i]]<bs[i]) x+=as[vs[i]]+bs[i];
if(as[vs[i]]>bs[i]) y+=as[vs[i]]+bs[i];
}
if(x<y) num++;
cnt++;
};
all_permutations(n,f);
double A=(double)num/cnt;
double B=1.0-A;
cout<<fixed<<setprecision(5);
cout<<A<<" "<<B<<endl;
return 0;
}
signed main(){
int T;
cin>>T;
while(T--) solve();
return 0;
}
#line 1 "test/aoj/2187.test.cpp"
// verification-helper: PROBLEM http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=2187
// verification-helper: ERROR 1e-5
#include<bits/stdc++.h>
using namespace std;
#define call_from_test
#line 1 "tools/chminmax.cpp"
#line 3 "tools/chminmax.cpp"
using namespace std;
#endif
//BEGIN CUT HERE
template<typename T1,typename T2> inline void chmin(T1 &a,T2 b){if(a>b) a=b;}
template<typename T1,typename T2> inline void chmax(T1 &a,T2 b){if(a<b) a=b;}
//END CUT HERE
#ifndef call_from_test
signed main(){
return 0;
}
#endif
#line 1 "tools/all_permutations.cpp"
#line 3 "tools/all_permutations.cpp"
using namespace std;
#endif
//BEGIN CUT HERE
template<typename F>
void all_permutations(int n,F f){
vector<int> vs(n);
iota(vs.begin(),vs.end(),0);
do f(vs); while(next_permutation(vs.begin(),vs.end()));
}
//END CUT HERE
#ifndef call_from_test
signed main(){
return 0;
}
#endif
#line 10 "test/aoj/2187.test.cpp"
#undef call_from_test
signed solve(){
cin.tie(0);
ios::sync_with_stdio(0);
const int n=9;
vector<int> as(n),bs(n);
for(int i=0;i<n;i++) cin>>as[i];
for(int i=0;i<n;i++) cin>>bs[i];
int num=0,cnt=0;
auto f=
[&](vector<int> vs){
int x=0,y=0;
for(int i=0;i<n;i++){
if(as[vs[i]]<bs[i]) x+=as[vs[i]]+bs[i];
if(as[vs[i]]>bs[i]) y+=as[vs[i]]+bs[i];
}
if(x<y) num++;
cnt++;
};
all_permutations(n,f);
double A=(double)num/cnt;
double B=1.0-A;
cout<<fixed<<setprecision(5);
cout<<A<<" "<<B<<endl;
return 0;
}
signed main(){
int T;
cin>>T;
while(T--) solve();
return 0;
}