#include <iostream>
#include <cstdio>
#include <vector>
#include <cstring>
#include <cmath>
using namespace std;
#define N 100020
int n, a[N], aa[N];
int c[N];
long double p[N][120];
long double C(int a, int b) {
long double ret = 1;
for(int i = 1; i <= b; ++i)
ret *= (a - i + 1.0) / i;
return ret;
}
long double f(int a, int b, int c, int d) {
if(a - b < c - d) return 0;
if(a < b) return 0;
return C(b, d) * C(a - b, c - d) / C(a, c);
}
int main() {
scanf("%d", &n);
long double ans = 0;
for(int i = 1; i <= n; ++i) {
scanf("%d", &a[i]);
if(a[i] == 0) ans += 1;
aa[i] = a[i];
p[i][a[i]] = 1;
c[i] = a[i];
}
int q;
scanf("%d", &q);
while(q--) {
int u, v, k;
scanf("%d%d%d", &u, &v, &k);
ans -= p[u][0];
for(int i = 0; i <= aa[u]; ++i) {
p[u][i] *= f(c[u], i, k, 0);
for(int j = 1; i + j <= aa[u] && j <= k; ++j) {
p[u][i] += p[u][i + j] * f(c[u], i + j, k, j);
}
}
ans += p[u][0];
c[u] -= k;
c[v] += k;
printf("%.12lf\n", (double)ans);
}
return 0;
}