#include <bits/stdc++.h>
using namespace std;
int x[110], y[110];
double dp[110][110];
int main() {
  memset(x, 0, sizeof(x));
  memset(y, 0, sizeof(y));
  memset(dp, 0.0, sizeof(dp));
  int n = 0, k = 0, p = 0, x0 = 0, y0 = 0;
  scanf("%d%d%d", &n, &k, &p);
  scanf("%d%d", &x0, &y0);
  for (int i = 0; i < n; ++i) {
    scanf("%d%d", &x[i], &y[i]);
  }
  double l = 0, r = 10000.0;
  for (int t = 0; t < 100; ++t) {
    double mid = (l + r) / 2.0;
    dp[0][0] = 1.0;
    for (int i = 0; i < n; ++i) {
      double d = hypot(x[i] - x0, y[i] - y0);
      double q = 0.0;
      if (d <= mid) {
        q = 1.0;
      } else {
        q = exp(1 - d * d / (mid * mid));
      }
      for (int j = 0; j <= i + 1; ++j) {
        dp[i + 1][j] = dp[i][j] * (1.0 - q);
        if (j) {
          dp[i + 1][j] += dp[i][j - 1] * q;
        }
      }
    }
    double ex = 0.0;
    for (int i = k; i <= n; ++i) {
      ex += dp[n][i];
    }
    if (ex * 1000 < 1000 - p) {
      l = mid;
    } else {
      r = mid;
    }
  }
  printf("%.8lf", r);
  return 0;
}
