#include <bits/stdc++.h>
using namespace std;
const int maxn = 10010;
const double eps = 1e-10;
double b[maxn];
int n;
double k;
bool check(double tg) {
  double in = 0, out = 0;
  for (int i = 1; i <= n; i++) {
    if (b[i] > tg) {
      out += b[i] - tg;
    } else if (b[i] < tg) {
      in += (tg - b[i]) / (1 - k);
    }
  }
  if (fabs(out - in) < eps || out > in) return true;
  return false;
}
double bisearch(double l, double r) {
  double mid;
  double ret;
  for (int i = 0; i < 64; i++) {
    mid = (l + r) / 2;
    if (check(mid)) {
      l = mid;
      ret = mid;
    } else {
      r = mid;
    }
  }
  return ret;
}
int main() {
  while (~scanf("%d%lf", &n, &k)) {
    k /= 100.0;
    for (int i = 1; i <= n; i++) scanf("%lf", &b[i]);
    sort(b + 1, b + 1 + n);
    double ans = bisearch(b[1], b[n]);
    printf("%.10lf\n", ans);
  }
}
