#include <bits/stdc++.h>
using namespace std;
const int N = 125;
double f[N], l, r, e, mid;
int x[N], y[N], n, k, i;
bool chk(double mid) {
  memset(f, 0, sizeof(f));
  f[0] = 1;
  for (int i = 1; i <= n; ++i) {
    double d = (x[i] - x[0]) * (x[i] - x[0]) + (y[i] - y[0]) * (y[i] - y[0]);
    double tmp;
    if (sqrt(d) <= mid)
      tmp = 1;
    else
      tmp = exp(1 - d / mid / mid);
    for (int j = n; j >= 0; --j) f[j + 1] += f[j] * tmp, f[j] *= (1 - tmp);
  }
  double res = 0;
  for (int i = 0; i < k; ++i) {
    res += f[i];
  }
  return res < e;
}
int main() {
  scanf("%d%d%lf", &n, &k, &e);
  e /= 1000;
  for (int i = 0; i <= n; ++i) {
    scanf("%d%d", &x[i], &y[i]);
  }
  l = 0, r = 10000;
  for (int itr = 1; itr <= 200; ++itr) {
    mid = (l + r) * 0.5;
    if (chk(mid)) {
      r = mid;
    } else {
      l = mid;
    }
  }
  printf("%.10lf\n", (l + r) / 2.);
}
