#include <bits/stdc++.h>
using namespace std;
const double eps = 1e-6;
const int dir[4][2] = {{0, -1}, {1, 0}, {0, 1}, {-1, 0}};
struct circle {
  double x, y, r;
} c[3];
double dist(double x1, double y1, double x2, double y2) {
  return sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2));
}
double assess(double x, double y) {
  double dif, ang[3];
  int i, j;
  for (i = 0; i < 3; i++) ang[i] = dist(x, y, c[i].x, c[i].y) / c[i].r;
  dif = 0;
  for (i = 0; i < 3; i++)
    for (j = i + 1; j < 3; j++) dif += (ang[i] - ang[j]) * (ang[i] - ang[j]);
  return dif;
}
int main() {
  double x, y;
  int i;
  double delta, curv, newv;
  x = y = 0;
  for (i = 0; i < 3; i++) {
    scanf("%lf%lf%lf", &c[i].x, &c[i].y, &c[i].r);
    x += c[i].x;
    y += c[i].y;
  }
  x /= 3;
  y /= 3;
  delta = 1;
  while (delta > eps) {
    curv = assess(x, y);
    for (i = 0; i < 4; i++) {
      newv = assess(x + delta * dir[i][0], y + delta * dir[i][1]);
      if (curv > newv) {
        curv = newv;
        break;
      }
    }
    if (i == 4)
      delta *= 0.85;
    else {
      x += delta * dir[i][0];
      y += delta * dir[i][1];
    }
  }
  if (assess(x, y) < eps) printf("%.5lf %.5lf\n", x, y);
  return 0;
}
