#include <bits/stdc++.h>
using namespace std;
template <typename T, typename S>
inline void chkmin(T &a, const S &b) {
  a = a < b ? a : b;
}
template <typename T, typename S>
inline void chkmax(T &a, const S &b) {
  a = a > b ? a : b;
}
const int MAXN = 50005;
const double eps = 1e-9;
double curx;
int xx[MAXN], yy[MAXN], dx[MAXN], dy[MAXN], spd[MAXN], n;
double coef[MAXN];
struct Po {
  double x;
  int id;
} po[MAXN];
bool cmp(const Po &a, const Po &b) { return a.x < b.x; }
struct Seg {
  double sx, tx, k, b;
  inline double calc(double x) const { return x * k + b; }
} seg[MAXN];
struct Cmp {
  bool operator()(int x, int y) {
    return seg[x].calc(curx) < seg[y].calc(curx);
  };
};
set<int, Cmp> ss;
bool inter(int id1, int id2) {
  const Seg &a = seg[id1], &b = seg[id2];
  if (fabs(a.k - b.k) < eps) return false;
  double x = (a.b - b.b) / (b.k - a.k);
  return x + eps >= a.sx && x - eps <= a.tx && x + eps >= b.sx &&
         x - eps <= b.tx;
}
bool check(double m) {
  int c = 0;
  for (int i = 1; i <= n; i++) {
    Seg &s = seg[i];
    double d = spd[i] / coef[i];
    s.sx = xx[i], s.tx = xx[i] + d * m;
    s.k = (double)dy[i] / dx[i];
    s.b = yy[i] - s.k * xx[i];
    if (d < 0) swap(s.sx, s.tx);
    po[++c] = Po{s.sx, i};
    po[++c] = Po{s.tx, -i};
  }
  sort(po + 1, po + 1 + c, cmp);
  seg[1].calc(4);
  ss.clear();
  for (int i = 1; i <= c; i++) {
    curx = po[i].x;
    int d = po[i].id;
    if (d > 0) {
      auto pp = ss.insert(d);
      if (!pp.second) return true;
      auto it = pp.first;
      if (++it != ss.end() && inter(d, *it)) return true;
      if (--it != ss.begin() && inter(d, *(--it))) return true;
    } else {
      auto it = ss.find(-d), it1 = it, it2 = it;
      assert(-d == *it);
      if (++it1 != ss.end() && it2-- != ss.begin())
        if (inter(*it1, *it2)) return true;
      ss.erase(it);
    }
  }
  return false;
}
int main() {
  scanf("%d", &n);
  for (int i = 1; i <= n; i++) {
    scanf("%d%d%d%d%d", xx + i, yy + i, dx + i, dy + i, spd + i);
    double k = (double)dy[i] / dx[i];
    coef[i] = sqrt(1 + k * k);
    if (dx[i] < 0) coef[i] = -coef[i];
  }
  double l = 0, r = 1e10;
  while (l * (1 + eps) < r && l + eps < r) {
    double mid = (l + r) / 2;
    if (check(mid))
      r = mid;
    else
      l = mid;
  }
  if (r < 9e9)
    printf("%.9lf\n", r);
  else
    puts("No show :(");
  return 0;
}
