#include using namespace std; using Int = long long; template inline void chmin(T1 &a,T2 b){if(a>b) a=b;} template inline void chmax(T1 &a,T2 b){if(a va(n),vb(n); for(int i=0;i>va[i]; for(int i=0;i>vb[i]; sort(va.begin(),va.end()); sort(vb.begin(),vb.end()); random_device rd; mt19937 mt{rd()}; const int MAX = 1e6; uniform_int_distribution ud(1,1000); int cnt=0,sum=0; for(int t=0;t nx(1,n-i); int x=ud(mt); int y=ud(mt); if(x>pa*1000) ida=nx(mt); if(y>pb*1000) idb=nx(mt); } assert(ida<(int)ta.size()); assert(idb<(int)tb.size()); int res=ta[ida]+tb[idb]; if(ta[ida]>tb[idb]) sa+=res; else sb+=res; ta.erase(ta.begin()+ida); tb.erase(tb.begin()+idb); } if(sa>sb) cnt++; sum++; } printf("%.12f\n",(double)cnt/sum); return 0; }