#include #define rep(i,n) for (int i = 0; i < (n); ++i) #define chmax(a, b) a = max(a, b); #define chmin(a, b) a = min(a, b); using namespace std; using ll = long long; using P = pair; using VI = vector; using VVI = vector; int main() { int n; cin >> n; vector p(n), q(n); VI a(n); rep(i, n) cin >> p[i]; rep(i, n) cin >> q[i]; rep(i, n) cin >> a[i]; double l = 0, r = 1; rep(_, 300) { double c = (l + r) / 2; double s = 0; rep(i, n) s += p[i] * (1 - q[i]) / (1 - c * q[i]); (c < s ? l : r) = c; } vector e(n); rep(i, n) { e[i] = log(1-q[i]) - log(1-l*q[i]); } double ans = 0; rep(i, n) ans += a[i] * e[i]; printf("%.10f\n", ans); }