#include using namespace std; int main(){ int N; cin >> N; vector A(N), R(N); double ans = 0; for(int i = 0; i < N; i++) cin >> A[i]; for(int i = 0; i < N; i++) cin >> R[i]; vector prob(N, 1); for(int i = 0; i < N; i++){ if(i == 0) { prob[i] *= 0.5; ans += A[i] * R[i] * prob[i]; } else{ for(int j = 0; j < i; j++){ if(A[j] <= A[i]) ans += A[j] * R[i] * prob[j] / 2; } double rest = 0; for(int j = 0; j < i; j++){ if(A[j] <= A[i]) { rest += prob[j]; prob[j] *= 0.5; } else prob[j] *= 0.5; } prob[i] = 1 - rest; prob[i] *= 0.5; ans += A[i] * R[i] * prob[i]; } } printf("%.10lf\n", ans); }