#include <bits/stdc++.h>
using namespace std;
int n, k;
vector<int> v;
const double eps = 0.000001;
pair<double, int> countLow(double val) {
  double sum = 0;
  int counter = 0;
  for (int i = 0; i < n; ++i) {
    if (val >= v[i]) {
      sum += v[i];
      counter++;
    } else {
      break;
    }
  }
  return {sum, counter};
}
pair<double, int> countUp(double val) {
  double sum = 0;
  int counter = 0;
  for (int i = n - 1; i >= 0; --i) {
    if (v[i] > val) {
      sum += v[i];
      counter++;
    } else {
      break;
    }
  }
  return {sum, counter};
}
double countRes(double val) {
  pair<double, int> low = countLow(val);
  pair<double, int> up = countUp(val);
  return (up.first - val * up.second) * (100 - k) / 100 - val * low.second +
         low.first;
}
double findRes() {
  double l = 0, r = 10005;
  while (r - l > eps) {
    double m = (l + r) / 2;
    if (countRes(m) > 0) {
      l = m;
    } else {
      r = m;
    }
  }
  return r;
}
int main() {
  cin >> n >> k;
  v.resize(n);
  for (int i = 0; i < n; ++i) {
    cin >> v[i];
  }
  sort(v.begin(), v.end());
  cout << fixed << setprecision(6) << findRes();
  return 0;
}
