#include <bits/stdc++.h>
using namespace std;
const int maxn = 100 + 10;
int n, cnt;
double p[maxn], last, nowval, nxt, now = 1, ans;
struct Node {
  int id;
  double dt, val;
  bool operator<(const Node &B) const { return dt < B.dt; }
};
priority_queue<Node> q;
int main() {
  scanf("%d", &n);
  for (register int i = 1, x; i <= n; ++i)
    scanf("%d", &x), p[i] = 1.0 * x / 100;
  for (register int i = 1; i <= n; ++i) {
    nowval = (1.0 - (1.0 - p[i]));
    nxt = (1.0 - (1.0 - p[i]) * (1.0 - p[i]));
    now = now * nowval;
    q.push((Node){i, nxt / nowval, nxt});
  }
  cnt = n;
  ans += 1.0 * cnt * now;
  last = now;
  for (register int i = 1; i <= 300000; ++i) {
    const int id = q.top().id;
    nowval = q.top().val;
    double dt = q.top().dt;
    q.pop();
    now = now * dt, ++cnt;
    ans += (now - last) * cnt;
    last = now;
    nxt = 1.0 - (1.0 - nowval) * (1.0 - p[id]);
    q.push((Node){id, nxt / nowval, nxt});
  }
  printf("%.10lf\n", ans);
  return 0;
}
