#include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; const int mod=1e9+7; int dx[]={1,0,0,-1},dy[]={0,1,-1,0}; struct str{ double tmp,a,b; }; int main(){ static int n,a[200000],b[200000]; cin>>n; for(int i=0;i>a[i]; for(int i=0;i>b[i]; static double ab[200000]; for(int i=0;ivec; vec.push_back({0,0,0}); for(int i=0;ist.tmp){ if(vec.back().tmp==0){ st.tmp=0; break; } st.a+=vec.back().a; st.b+=vec.back().b; st.tmp=sqrt(st.a/st.b)-1; vec.pop_back(); } vec.push_back(st); } double ans=0; for(auto x:vec) ans+=x.a/(1+x.tmp)+x.b*(1+x.tmp); cout<