#include <bits/stdc++.h>
using namespace std;
template <typename T>
istream& operator>>(istream& is, vector<T>& a) {
  for (T& ai : a) is >> ai;
  return is;
}
template <typename T>
ostream& operator<<(ostream& os, vector<T> const& a) {
  os << "[ ";
  for (const T& ai : a) os << ai << " ";
  return os << "]";
}
template <typename T1, typename T2>
istream& operator>>(istream& is, pair<T1, T2>& a) {
  return is >> a.first >> a.second;
}
template <typename T1, typename T2>
ostream& operator<<(ostream& os, pair<T1, T2> const& a) {
  return os << "(" << a.first << ", " << a.second << ")";
}
struct car_t {
  int x, y, dx, dy, s;
  double z;
};
int randint(int m) {
  int x = 1 + (rand() % m);
  return rand() % 2 ? x : -x;
}
istream& operator>>(istream& is, car_t& rhs) {
  is >> rhs.x >> rhs.y >> rhs.dx >> rhs.dy >> rhs.s;
  rhs.z = sqrtl(rhs.dx * rhs.dx + rhs.dy * rhs.dy) / (double)rhs.s;
  return is;
}
ostream& operator<<(ostream& os, const car_t& rhs) {
  os << "(" << rhs.x;
  if (rhs.dx < 0) os << rhs.dx << "t";
  if (rhs.dx > 0) os << "+" << rhs.dx << "t";
  os << ", " << rhs.y;
  if (rhs.dy < 0) os << rhs.dy << "t";
  if (rhs.dy > 0) os << "+" << rhs.dy << "t";
  return os << ")";
}
double crash(const car_t& p, const car_t& q) {
  int det = q.dx * p.dy - p.dx * q.dy;
  int dx = q.x - p.x, dy = q.y - p.y;
  if (det == 0) {
    if (p.dy * dx != p.dx * dy) return -1;
    bool pstop = (p.dx * dx < 0) || (p.dy * dy < 0);
    bool qstop = (q.dx * dx > 0) || (q.dy * dy > 0);
    if (pstop && qstop) return -1;
    int s = (pstop ? 0 : p.s) + (qstop ? 0 : q.s);
    return sqrtl(dx * dx + dy * dy) / (double)s;
  }
  int pdet = q.dx * dy - q.dy * dx, qdet = p.dx * dy - p.dy * dx;
  if (det > 0 && (pdet < 0 || qdet < 0)) return -1;
  if (det < 0 && (pdet > 0 || qdet > 0)) return -1;
  double pt = p.z * pdet / det, qt = q.z * qdet / det;
  return max(pt, qt);
}
void f() {
  int n;
  cin >> n;
  vector<car_t> cars(n);
  cin >> cars;
  double r = -99;
  for (int i = 0; i < n; ++i) {
    for (int j = i + 1; j < n; ++j) {
      double t = crash(cars[i], cars[j]);
      if (t < 0) continue;
      if (r < 0 || t < r) r = t;
    }
  }
  if (r < 0) {
    cout << "No show :(\n";
  } else {
    cout << fixed << setprecision(12) << r << "\n";
  }
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  f();
  return 0;
}
