#include <bits/stdc++.h>
using namespace std;
struct planet {
  int x, y, z;
};
struct two_po {
  double z, y;
};
struct three_po {
  double z, y, x;
};
vector<planet> mass;
double len_m(double x, double y, double z) {
  double max = -1;
  for (int i = 0; i < mass.size(); i++) {
    double len = pow(mass[i].x - x, 2.0) + pow(mass[i].y - y, 2.0) +
                 pow(mass[i].z - z, 2.0);
    if (len > max) max = len;
  }
  return max;
}
double serc_z(double x, double y) {
  double r = 10000, l = -10000;
  while (r - l > 10e-9) {
    double m1 = l + (r - l) / 3.0;
    double m2 = r - (r - l) / 3.0;
    double Lm1 = len_m(x, y, m1);
    double Lm2 = len_m(x, y, m2);
    if (Lm1 < Lm2) r = m2;
    if (Lm1 > Lm2) l = m1;
    if (Lm1 == Lm2) {
      l = m1;
      r = m2;
    }
  }
  return r;
}
two_po serc_y(double x) {
  double z_m1;
  double z_m2;
  double r = 10000, l = -10000;
  while (r - l > 10e-9) {
    double m1 = l + (r - l) / 3.0;
    double m2 = r - (r - l) / 3.0;
    z_m1 = serc_z(x, m1);
    z_m2 = serc_z(x, m2);
    double Lm1 = len_m(x, m1, z_m1);
    double Lm2 = len_m(x, m2, z_m2);
    if (Lm1 < Lm2) r = m2;
    if (Lm1 > Lm2) l = m1;
    if (Lm1 == Lm2) {
      l = m1;
      r = m2;
    }
  }
  two_po ans;
  ans.y = r;
  ans.z = serc_z(x, r);
  return ans;
}
three_po all_ser() {
  three_po ans;
  two_po tw_m1;
  two_po tw_m2;
  double r = 10000, l = -10000;
  while (r - l > 10e-9) {
    double m1 = l + (r - l) / 3.0;
    double m2 = r - (r - l) / 3.0;
    tw_m1 = serc_y(m1), tw_m2 = serc_y(m2);
    double Lm1 = len_m(m1, tw_m1.y, tw_m1.z);
    double Lm2 = len_m(m2, tw_m2.y, tw_m2.z);
    if (Lm1 < Lm2) r = m2;
    if (Lm1 > Lm2) l = m1;
    if (Lm1 == Lm2) {
      l = m1;
      r = m2;
    }
  }
  ans.x = r;
  tw_m1 = serc_y(r);
  ans.y = tw_m1.y;
  ans.z = tw_m1.z;
  return ans;
}
int main() {
  int n;
  cin >> n;
  for (int i = 0; i < n; i++) {
    planet temp;
    cin >> temp.x >> temp.y >> temp.z;
    mass.push_back(temp);
  }
  three_po ans = all_ser();
  cout << fixed << setprecision(6) << ans.x << " " << ans.y << " " << ans.z;
  return 0;
}
