#include <bits/stdc++.h>
using namespace std;
struct circle {
  double x, y, r;
};
struct point {
  double x, y;
};
circle c[3];
point p;
double delta, temp;
double check(double x, double y) {
  double ratio[3];
  for (int i = 0; i < 3; i++)
    ratio[i] = sqrt(pow(c[i].x - x, 2) + pow(c[i].y - y, 2)) / c[i].r;
  return pow(ratio[0] - ratio[1], 2) + pow(ratio[0] - ratio[2], 2) +
         pow(ratio[1] - ratio[2], 2);
}
int main() {
  for (int i = 0; i < 3; i++) {
    cin >> c[i].x >> c[i].y >> c[i].r;
    p.x += c[i].x;
    p.y += c[i].y;
  }
  p.x /= 3;
  p.y /= 3;
  delta = 8;
  temp = check(p.x, p.y);
  while (delta > 1e-6) {
    bool happen = 0;
    if (check(p.x + delta, p.y) < temp) {
      p.x += delta;
      temp = check(p.x, p.y);
      happen = 1;
    } else if (check(p.x - delta, p.y) < temp) {
      p.x -= delta;
      temp = check(p.x, p.y);
      happen = 1;
    }
    if (check(p.x, p.y + delta) < temp) {
      p.y += delta;
      temp = check(p.x, p.y);
      happen = 1;
    } else if (check(p.x, p.y - delta) < temp) {
      p.y -= delta;
      temp = check(p.x, p.y);
      happen = 1;
    }
    if (!happen) delta /= 2;
  }
  if (temp < 1e-6)
    cout << fixed << setprecision(5) << p.x << " " << p.y << endl;
  return 0;
}
