#include <bits/stdc++.h>
using namespace std;
struct point {
  double x;
  double y;
  double r;
} arr[3];
double dis(double x1, double y1, double x2, double y2) {
  return sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2));
}
double cost(double x, double y) {
  double ang[3];
  for (int i = 0; i < 3; i++) {
    ang[i] = dis(x, y, arr[i].x, arr[i].y) / arr[i].r;
  }
  double d[3];
  for (int i = 0; i < 3; i++) {
    d[i] = ang[i] - ang[(i + 1) % 3];
  }
  double c = 0.0;
  for (int i = 0; i < 3; i++) {
    c += d[i] * d[i];
  }
  return c;
}
int main() {
  double x = 0.0;
  double y = 0.0;
  for (int i = 0; i < 3; i++) {
    cin >> arr[i].x >> arr[i].y >> arr[i].r;
  }
  for (int i = 0; i < 3; i++) {
    x += arr[i].x / 3;
    y += arr[i].y / 3;
  }
  double step = 1.0;
  while (step > 1e-5) {
    bool flag = false;
    if (cost(x + step, y) < cost(x, y)) {
      x = x + step;
      flag = true;
    } else if (cost(x - step, y) < cost(x, y)) {
      x = x - step;
      flag = true;
    } else if (cost(x, y + step) < cost(x, y)) {
      y = y + step;
      flag = true;
    } else if (cost(x, y - step) < cost(x, y)) {
      y = y - step;
      flag = true;
    }
    if (!flag) step = step / 2;
  }
  if (fabs(cost(x, y)) < 1e-5) printf("%.5f %.5f\n", x, y);
}
