#include <bits/stdc++.h>
using namespace std;
FILE *aaa, *bbb;
int x[1005], y[1005];
pair<int, int> t[1005];
double p[1005], dp[1005];
int n;
void oku() {
  int i;
  scanf("%d", &n);
  for (i = 1; i <= n; i++) {
    scanf("%d %d %d %lf", &x[i], &y[i], &t[i].first, &p[i]);
    t[i].second = i;
  }
}
void coz() {
  int i, j;
  double mx = -1;
  sort(t + 1, t + 1 + n);
  for (i = n; i >= 1; i--) {
    for (j = i + 1; j <= n; j++)
      if (sqrt((x[t[i].second] - x[t[j].second]) *
                   (x[t[i].second] - x[t[j].second]) +
               (y[t[i].second] - y[t[j].second]) *
                   (y[t[i].second] - y[t[j].second])) -
              (t[j].first - t[i].first) <
          0.000001)
        dp[i] = max(dp[i], dp[j]);
    dp[i] += p[t[i].second];
    mx = max(mx, dp[i]);
  }
  printf("%.10lf\n", mx);
}
int main() {
  oku();
  coz();
  return 0;
}
