#include <bits/stdc++.h>
using namespace std;
#pragma comment(linker, "/STACK:16777216")
int a[111][3];
int n;
inline double sqr(double v) { return v * v; }
int ctr = 0;
double bst;
double cors[3];
inline double ternary(double pre[3], int cor) {
  if (cor == 3) {
    double ans = 0;
    for (int(i) = 0; (i) < (n); ++(i))
      ans = max(ans, sqr(pre[0] - a[i][0]) + sqr(pre[1] - a[i][1]) +
                         sqr(pre[2] - a[i][2]));
    if (ans < 0) ans = ans;
    if (ans < bst) {
      bst = ans;
      for (int(i) = 0; (i) < (3); ++(i)) cors[i] = pre[i];
    }
    return ans;
  }
  double high = 10000;
  double low = -high;
  for (int(iter) = 0; (iter) < (58); ++(iter)) {
    double m1 = low + (high - low) / 3.;
    pre[cor] = m1;
    double v1 = ternary(pre, cor + 1);
    double m2 = low + 2. * (high - low) / 3.;
    pre[cor] = m2;
    double v2 = ternary(pre, cor + 1);
    if (v1 > v2)
      low = m1;
    else
      high = m2;
  }
  pre[cor] = (high + low) / 2.;
  return ternary(pre, cor + 1);
}
double pre[3];
int main() {
  cin >> n;
  for (int(i) = 0; (i) < (n); ++(i))
    for (int(j) = 0; (j) < (3); ++(j)) cin >> a[i][j];
  bst = 1e100;
  ternary(pre, 0);
  for (int(i) = 0; (i) < (3); ++(i)) {
    if (i) printf(" ");
    printf("%0.9lf", cors[i]);
  }
  cout << endl;
}
