#include <bits/stdc++.h>
using namespace std;
const int MAXN = 10001;
double a[MAXN];
int n, m;
double k;
bool isCan(double mid) {
  double need = 0.0;
  double over = 0.0;
  for (int i = 1; i <= n; i++) {
    if (a[i] < mid) need += (mid - a[i]);
    if (a[i] > mid) over += (a[i] - mid);
  }
  if (over * k >= need) return true;
  return false;
}
int main() {
  cin >> n >> m;
  k = (100 - m) / 100.0;
  double low = 0.0;
  double high = 0.0;
  for (int i = 1; i <= n; i++) {
    cin >> a[i];
    high = max(high, a[i]);
  }
  double ans = 0.0;
  for (int iter = 0; iter < 500; iter++) {
    double mid = (low + high) / 2.0;
    if (isCan(mid)) {
      low = mid;
      ans = max(ans, mid);
    } else
      high = mid;
  }
  cout << fixed;
  cout << setprecision(11);
  cout << ans;
  return 0;
}
