#include <bits/stdc++.h>
const int fx[4] = {1, -1, 0, 0}, fy[4] = {0, 0, 1, -1};
inline double sqr(double x) { return x * x; }
const double eps = 1e-6;
double x[3], y[3], r[3], X, Y;
inline double judge(double X, double Y) {
  static double Tan[3];
  for (int i = 0; i < 3; i++)
    Tan[i] = sqrt(sqr(X - x[i]) + sqr(Y - y[i])) / r[i];
  double rt = 0;
  for (int i = 0; i < 3; i++) rt += sqr(Tan[i] - Tan[(i + 1) % 3]);
  return rt;
}
int main() {
  for (int i = 0; i < 3; i++) scanf("%lf%lf%lf", x + i, y + i, r + i);
  X = (x[0] + x[1] + x[2]) / 3;
  Y = (y[0] + y[1] + y[2]) / 3;
  for (double st = 1; st > eps;) {
    bool flag = 1;
    for (int i = 0; i < 4; i++)
      if (judge(X + fx[i] * st, Y + fy[i] * st) < judge(X, Y))
        X += fx[i] * st, Y += fy[i] * st, flag = 0;
    if (flag) st /= 2;
  }
  if (judge(X, Y) < eps) printf("%.5lf %.5lf\n", X, Y);
}
