#include <bits/stdc++.h>
using namespace std;
template <typename T>
void debug_out(T t) {
  cerr << t;
}
template <typename A, typename B>
void debug_out(pair<A, B> u) {
  cerr << "(" << u.first << " " << u.second << ")";
}
template <typename T>
void debug_out(vector<T> t) {
  int sz = t.size();
  for (int i = 0; i < sz; i++) {
    debug_out(t[i]);
    if (i != sz - 1) cerr << ", ";
  }
}
template <typename T>
void debug_out(vector<vector<T>> t) {
  int sz = t.size();
  for (int i = 0; i < sz; i++) {
    debug_out(t[i]);
    if (i != sz - 1) cerr << endl;
  }
}
template <typename Head, typename... Tail>
void debug_out(Head H, Tail... T) {
  debug_out(H);
  cerr << " ";
  debug_out(T...);
}
template <typename T>
void debug_out(set<T> a) {
  vector<T> _a;
  for (T t : a) _a.push_back(t);
  debug_out(_a);
}
int n;
int main() {
  cout.precision(15);
  cin >> n;
  vector<long double> p(n);
  for (int i = 0; i < n; i++) {
    cin >> p[i];
    p[i] = 100 - p[i];
    p[i] /= 100;
  }
  int iter = 1000000;
  vector<long double> cur = p;
  set<pair<long double, int>> opt;
  long double mu = 1;
  for (int i = 0; i < n; i++) {
    opt.insert(make_pair((1 - (cur[i] * p[i])) / (1 - p[i]), i));
    mu *= 1 - p[i];
  }
  long double res = 1 - mu;
  while (iter--) {
    int id = prev(opt.end())->second;
    opt.erase(prev(opt.end()));
    long double sp = cur[id];
    mu /= 1 - sp;
    cur[id] *= p[id];
    sp *= p[id];
    mu *= 1 - sp;
    opt.insert(make_pair((1 - (sp * p[id])) / (1 - sp), id));
    res += 1 - mu;
    iter--;
  }
  cout << res + n;
  return 0;
}
