#include <bits/stdc++.h>
using namespace std;
const int N = 200;
double EPS = 1e-9;
double dp[N][N];
double d[N];
double first, second, x00, y00, req;
int n, k;
double sq(double first) { return first * first; }
double f(double d2, double r2) {
  if (fabs(r2) < EPS) return fabs(d2) < EPS;
  if (d2 <= r2) return 1;
  return exp(1 - d2 / r2);
}
int main() {
  scanf("%d%d%lf", &n, &k, &req);
  scanf("%lf%lf", &x00, &y00);
  for (int i = (1); i <= (int)(n); i++) {
    scanf("%lf%lf", &first, &second);
    d[i] = sq(first - x00) + sq(second - y00);
  }
  double lo = 0, hi = 2000 * 2000 * 2, md;
  for (int r = (0); r < (int)(100); r++) {
    md = (lo + hi) * 0.5;
    memset(dp, 0, sizeof(dp));
    dp[0][0] = 1;
    for (int i = (1); i <= (int)(n); i++) {
      double yes = f(d[i], md);
      for (int k = (0); k <= (int)(i); k++)
        dp[i][k] = (k ? dp[i - 1][k - 1] * yes : 0) + dp[i - 1][k] * (1 - yes);
    }
    double sum = 0;
    for (int i = (k); i <= (int)(n); i++) sum += dp[n][i];
    if (sum >= 1 - req / 1000)
      hi = md;
    else
      lo = md;
  }
  printf("%.17f\n", sqrt(md));
}
