#include <bits/stdc++.h>
using namespace std;
const int N = 2e5 + 7, M = 20;
const double eps = 1e-10, pi = acos(-1.0);
double dis[N], op[N][M];
struct node {
  long long x, y;
} e[N];
int n, k, f[N][M];
struct query {
  double x, y;
} w[N];
inline int read() {
  int num = 0;
  char t = '+', g = getchar();
  while (g < 48 || 57 < g) t = g, g = getchar();
  while (47 < g && g < 58)
    num = (num << 1) + (num << 3) + g - 48, g = getchar();
  if (t == '-') return 0 - num;
  return num;
}
inline bool cmp(query a, query b) {
  if (a.y == b.y) return a.x < b.x;
  return a.y < b.y;
}
inline int getdis(int u) {
  for (int i = 0; i <= 18; i++)
    if ((1 << i) & k) u = f[u][i];
  return u;
}
inline double abst(double u, int x) {
  if (x < 0) return 2 * pi - u;
  return u;
}
inline bool check(double u) {
  for (int i = 1; i <= n; i++)
    if (u > dis[i]) return false;
  memset(f, 0, sizeof(f));
  for (int i = 1; i <= n; i++)
    w[i].x = abst(acos(e[i].x / dis[i]), e[i].y) - acos(u / dis[i]),
    w[i].y = abst(acos(e[i].x / dis[i]), e[i].y) + acos(u / dis[i]);
  for (int i = 1; i <= n; i++) {
    if (w[i].y >= pi * 2) w[i].y = w[i].y - 2 * pi, w[i].x = w[i].x - 2 * pi;
  }
  sort(w + 1, w + n + 1, cmp);
  f[0][0] = 1;
  for (int i = 1; i <= n; i++)
    w[i + n].x = w[i].x + 2 * pi, w[i + n].y = w[i].y + 2 * pi;
  for (int i = 1; i <= (n << 1); i++) {
    f[i][0] = f[i - 1][0];
    while (w[f[i][0]].x <= w[i].y && f[i][0] <= (n << 1)) f[i][0]++;
  }
  f[n << 1 | 1][0] = n << 1 | 1;
  for (int x = 1; x <= 18; x++)
    for (int i = 1; i <= (n << 1 | 1); i++) f[i][x] = f[f[i][x - 1]][x - 1];
  for (int i = 1; i <= n; i++)
    if (getdis(i) >= i + n) return true;
  return false;
}
int main() {
  n = read(), k = read();
  double l = 0.00, r = 200000.00, ans = 0.00;
  for (int i = 1; i <= n; i++) e[i].x = read(), e[i].y = read();
  for (int i = 1; i <= n; i++)
    dis[i] = sqrt(1.0 * e[i].x * e[i].x + 1.0 * e[i].y * e[i].y);
  while (r - l > eps) {
    double d = (l + r) / 2.0;
    if (check(d))
      ans = d, l = d;
    else
      r = d;
  }
  printf("%.7lf\n", ans);
}
