#include <bits/stdc++.h>
using namespace std;
int x[110], y[110], n, epsilon, k;
double dist[110], p[110], mem[110][110];
double solve(int idx, int k) {
  if (k == 0) return 1;
  if (idx == n) return 0;
  double& res = mem[idx][k];
  if (res != -1) return res;
  res = p[idx] * solve(idx + 1, k - 1);
  res += (1 - p[idx]) * solve(idx + 1, k);
  return res;
}
bool binary(double r) {
  for (int i = 0; i < n; i++) {
    if (dist[i] <= r)
      p[i] = 1;
    else
      p[i] = exp(1 - dist[i] * dist[i] / (r * r));
  }
  for (int i = 0; i < n + 1; i++)
    for (int j = 0; j < k + 1; j++) mem[i][j] = -1;
  double res = solve(0, k);
  return ((1 - res) * 1000 <= epsilon);
}
int main() {
  ios::sync_with_stdio(false);
  int x0, y0;
  cin >> n >> k >> epsilon;
  cin >> x0 >> y0;
  for (int i = 0; i < n; i++) cin >> x[i] >> y[i];
  for (int i = 0; i < n; i++) dist[i] = hypot(x[i] - x0, y[i] - y0);
  double mid, low = 0, high = 1000000;
  while (abs(low - high) > 1e-9) {
    mid = (low + high) / 2;
    if (binary(mid))
      high = mid;
    else
      low = mid;
  }
  printf("%.15lf\n", (low + high) / 2);
  return 0;
}
