#include <bits/stdc++.h>
using namespace std;
long long int p = 1000000007;
int main() {
  long long int n;
  cin >> n;
  pair<pair<double, double>, pair<double, double> > ar[n];
  double dp[n];
  for (long long int i = 0; i < n; i++) {
    cin >> ar[i].second.first >> ar[i].second.second >> ar[i].first.first >>
        ar[i].first.second;
  }
  sort(ar, ar + n);
  for (long long int i = 0; i < n; i++) {
    dp[i] = ar[i].first.second;
  }
  for (long long int i = n - 2; i >= 0; i--) {
    for (long long int j = i + 1; j < n; j++) {
      double x1, y1, x2, y2, t1, t2, p1, p2;
      x1 = ar[i].second.first;
      y1 = ar[i].second.second;
      x2 = ar[j].second.first;
      y2 = ar[j].second.second;
      t1 = ar[i].first.first;
      p1 = ar[i].first.second;
      t2 = ar[j].first.first;
      p2 = ar[j].first.second;
      double dist = sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2));
      if (dist <= t2 - t1 && dp[j] + p1 > dp[i]) {
        dp[i] = dp[j] + p1;
      }
    }
  }
  double ans = dp[0];
  for (long long int i = 1; i < n; i++) {
    if (dp[i] > ans) {
      ans = dp[i];
    }
  }
  cout << fixed << setprecision(10) << ans << endl;
}
