#include <bits/stdc++.h>
using namespace std;
const long long inf = 0x3f3f3f3f3f3f3f3f;
long long dx[] = {0, 1, 1, 1, 0, -1, -1, -1};
long long dy[] = {1, 1, 0, -1, -1, -1, 0, 1};
void print(vector<long long> &v) {
  for (long long i = 0; i < v.size(); i++) cout << v[i] << " ";
  cout << '\n';
}
long long power(long long a, long long b) {
  long long res = 1;
  while (b != 0) {
    if (b & 1) {
      res *= a;
    }
    a = (a * a);
    b = (b / 2);
  }
  return res;
}
long long n, k;
bool check(double mid, vector<double> &v) {
  double sum1 = double(0), sum2 = double(0);
  for (long long i = 0; i < v.size(); i++) {
    if (v[i] < mid)
      sum1 += (mid - v[i]);
    else
      sum2 += (v[i] - mid);
  }
  if (sum1 * (double(100) / double(100 - k)) <= sum2) return true;
  return false;
}
double binary(vector<double> &v) {
  double err = 0.0000001;
  double low = double(0), high = double(1000);
  while ((high - low) > err) {
    double mid = low + double(0.5) * (high - low);
    if (check(mid, v)) {
      low = mid;
    } else {
      high = mid;
    }
  }
  return low;
}
int32_t main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  long long i;
  cin >> n >> k;
  vector<double> v(n);
  for (i = 0; i < n; i++) cin >> v[i];
  sort(v.begin(), v.end());
  cout << setprecision(10) << fixed << binary(v) << '\n';
  return 0;
}
