#include <bits/stdc++.h>
using namespace std;
constexpr static int MAXN = 30000;
constexpr static double INF = 1e20;
constexpr static double EPS = 1e-9;
int n;
int x[MAXN], y[MAXN], dx[MAXN], dy[MAXN], s[MAXN];
double scale[MAXN];
double tmin = INF;
void calc_time(int i, int j) {
  int den = dx[j] * dy[i] - dx[i] * dy[j];
  if (den == 0) {
    int xdiff = x[i] - x[j];
    int ydiff = y[i] - y[j];
    if (xdiff * dy[i] != ydiff * dx[i]) return;
    double dist = sqrt(xdiff * xdiff + ydiff * ydiff);
    bool useI = ((dx[i] > 0 && x[i] < x[j]) || (dx[i] < 0 && x[i] > x[j]));
    bool useJ = ((dx[j] > 0 && x[j] < x[i]) || (dx[j] < 0 && x[j] > x[i]));
    if (useI && useJ)
      tmin = min(tmin, dist / (s[i] + s[j]));
    else if (useI)
      tmin = min(tmin, dist / s[i]);
    else if (useJ)
      tmin = min(tmin, dist / s[j]);
    return;
  }
  int num = (x[i] - x[j]) * dy[i] - (y[i] - y[j]) * dx[i];
  double t2 = 1.0 * num / den;
  if (t2 < -EPS || t2 * scale[j] > tmin) return;
  double t1 = (x[j] + t2 * dx[j] - x[i]) / dx[i];
  if (t1 < -EPS || t1 * scale[i] > tmin) return;
  tmin = min(tmin, max(t1 * scale[i], t2 * scale[j]));
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cin >> n;
  for (int i = 0; i < n; i++) cin >> x[i] >> y[i] >> dx[i] >> dy[i] >> s[i];
  for (int i = 0; i < n; i++)
    scale[i] = sqrt(dx[i] * dx[i] + dy[i] * dy[i]) / s[i];
  tmin = INF;
  for (int i = 0; i < n; i++)
    for (int j = i + 1; j < n; j++) calc_time(i, j);
  cout << fixed << setprecision(10);
  if (tmin > INF / 2)
    cout << "No show :(" << endl;
  else
    cout << tmin << endl;
}
