#include <bits/stdc++.h>
using namespace std;
const long long mod = 1e7 + 19;
inline long long read() {
  long long x = 0, f = 1;
  char ch = getchar();
  while (ch > '9' || ch < '0') {
    if (ch == '-') f = -1;
    ch = getchar();
  }
  while (ch >= '0' && ch <= '9') {
    x = x * 10 + ch - '0';
    ch = getchar();
  }
  return x * f;
}
int n;
int x[25005], y[25005], dx[25005], dy[25005], s[25005];
double c[25005];
int main() {
  int i, j;
  n = read();
  for (i = 1; i <= n; i++) {
    x[i] = read(), y[i] = read(), dx[i] = read(), dy[i] = read(), s[i] = read();
    c[i] = s[i] / sqrt(1.0 * dx[i] * dx[i] + dy[i] * dy[i]);
  }
  double ans = DBL_MAX;
  for (i = 1; i <= n; i++) {
    for (j = i + 1; j <= n; j++) {
      int cc = dx[j] * dy[i] - dx[i] * dy[j];
      int dey = y[j] - y[i];
      int dex = x[j] - x[i];
      if (cc != 0) {
        double t1 = 1.0 * (dx[j] * dey - dy[j] * dex) / (c[i] * cc);
        double t2 = 1.0 * (dx[i] * dey - dy[i] * dex) / (c[j] * cc);
        if (t1 >= 0 && t2 >= 0) ans = min(ans, max(t1, t2));
      } else if ((x[i] - x[j]) * dy[j] == (y[i] - y[j]) * dx[j]) {
        int v = 0;
        if (dex * dx[i] > 0) v += s[i];
        if (dex * dx[j] < 0) v += s[j];
        if (v > 0) ans = min(ans, 1.0 * sqrt(dex * dex + dey * dey) / v);
      }
    }
  }
  if (ans == DBL_MAX)
    printf("No show :(\n");
  else
    printf("%.8lf", ans);
}
