#include <bits/stdc++.h>
using namespace std;
using ll = long long;
const double EPS = 1e-9;
const int MAXN = 25000;
int n;
int x[MAXN], y[MAXN];
int dx[MAXN], dy[MAXN];
double vx[MAXN], vy[MAXN];
int speed[MAXN];
int A[MAXN], B[MAXN];
ll C[MAXN];
signed main() {
  scanf("%d", &n);
  for (int i = 0; i < n; ++i) {
    scanf("%d%d%d%d%d", x + i, y + i, dx + i, dy + i, speed + i);
  }
  for (int i = 0; i < n; ++i) {
    double length = sqrt(dx[i] * dx[i] + dy[i] * dy[i]);
    vx[i] = dx[i] / length * speed[i];
    vy[i] = dy[i] / length * speed[i];
    A[i] = dy[i];
    B[i] = -dx[i];
    C[i] = y[i] * dx[i] - x[i] * dy[i];
  }
  const double INF = 1e14;
  double res_sqr = INF;
  double result = INF;
  for (int i = 0; i < n; ++i) {
    for (int j = i + 1; j < n; ++j) {
      int xx = x[j] - x[i];
      int yy = y[j] - y[i];
      if (dx[i] * dy[j] != dy[i] * dx[j]) {
        int sign1 = xx * dy[i] - yy * dx[i];
        int sign2 = xx * dy[j] - yy * dx[j];
        if (sign1 < 0 && sign2 > 0 || sign1 > 0 && sign2 < 0) continue;
        if (sign1 == 0) {
          if (xx * dx[i] + yy * dy[i] > 0) {
            res_sqr =
                min(res_sqr, (xx * xx + yy * yy) / double(speed[i] * speed[i]));
          }
          continue;
        }
        if (sign2 == 0) {
          if (xx * dx[j] + yy * dy[j] < 0) {
            res_sqr =
                min(res_sqr, (xx * xx + yy * yy) / double(speed[j] * speed[j]));
          }
          continue;
        }
        int sign3 = xx * dy[i] - yy * dx[i];
        int sign4 = dx[j] * dy[i] - dy[j] * dx[i];
        if (sign3 > 0 && sign4 > 0 || sign3 < 0 && sign4 < 0) {
          continue;
        }
        ll det = A[i] * B[j] - A[j] * B[i];
        ll detx = C[i] * B[j] - C[j] * B[i];
        ll dety = A[i] * C[j] - A[j] * C[i];
        double x_meet = -1.0 * detx / det;
        double y_meet = -1.0 * dety / det;
        double ti;
        if (dx[i])
          ti = (x_meet - x[i]) / vx[i];
        else
          ti = (y_meet - y[i]) / vy[i];
        double tj;
        if (dx[j])
          tj = (x_meet - x[j]) / vx[j];
        else
          tj = (y_meet - y[j]) / vy[j];
        assert(ti > 0 && tj > 0);
        result = min(result, max(ti, tj));
        continue;
      }
      if (dx[i] * yy - dy[i] * xx != 0) {
        continue;
      }
      if (dx[i] * dx[j] + dy[i] * dy[j] < 0) {
        if (dx[i] * xx + dy[i] * yy > 0) {
          res_sqr =
              min(res_sqr, (xx * xx + yy * yy) / double((speed[i] + speed[j]) *
                                                        (speed[i] + speed[j])));
        }
      } else {
        if (dx[i] * xx + dy[i] * yy > 0) {
          res_sqr =
              min(res_sqr, (xx * xx + yy * yy) / double(speed[i] * speed[i]));
        } else {
          res_sqr =
              min(res_sqr, (xx * xx + yy * yy) / double(speed[j] * speed[j]));
        }
      }
    }
  }
  if (abs(res_sqr - INF) > EPS) {
    res_sqr = sqrt(res_sqr);
  }
  result = min(result, res_sqr);
  if (abs(result - INF) > EPS) {
    printf("%.10lf\n", result);
  } else {
    printf("No show :(\n");
  }
}
