#include <bits/stdc++.h>
using namespace std;
const int N = 105;
double sqr(double d) { return d * d; }
struct Point {
  double x, y, z;
  void input() { scanf("%lf %lf %lf", &x, &y, &z); }
  double dist(Point &p) {
    return sqrt(sqr(x - p.x) + sqr(y - p.y) + sqr(z - p.z));
  }
} p[N], q, ans;
int n;
int way[8][3] = {0, 0, 1, 0, 0, -1, 1, 0, 0, -1, 0, 0, 0, 1, 0, 0, -1, 0};
int main() {
  scanf("%d", &n);
  for (int i = 0; i < n; i++) {
    p[i].input();
  }
  q.x = q.y = q.z = 0;
  double step = 1e5, dist = 1e10;
  while (step > 1e-8) {
    int d = 0;
    for (int i = 1; i < n; i++) {
      if (q.dist(p[i]) > q.dist(p[d])) d = i;
    }
    double m = q.dist(p[d]);
    if (m < dist) dist = m, ans = q;
    q.x += (p[d].x - q.x) / m * step;
    q.y += (p[d].y - q.y) / m * step;
    q.z += (p[d].z - q.z) / m * step;
    step *= 0.9999;
  }
  printf("%.10f %.10f %.10f\n", ans.x, ans.y, ans.z);
  return 0;
}
