#include <bits/stdc++.h>
using namespace std;
const double EPS = 1E-5;
struct Point {
  double x, y;
  double r;
} P[3];
double Get(double x, double y, const Point b) {
  return sqrt((x - b.x) * (x - b.x) + (y - b.y) * (y - b.y));
}
double Check(double x, double y) {
  double t[3], delta[3], ret = 0.0;
  for (int i = 0; i < 3; ++i) t[i] = Get(x, y, P[i]) / P[i].r;
  for (int i = 0; i < 3; ++i) {
    delta[i] = t[i] - t[(i + 1) % 3];
    ret += delta[i] * delta[i];
  }
  return ret;
}
int main() {
  bool mark;
  double x = 0.0, y = 0.0;
  for (int i = 0; i < 3; ++i) {
    scanf("%lf%lf%lf", &P[i].x, &P[i].y, &P[i].r);
    x += P[i].x / 3;
    y += P[i].y / 3;
  }
  for (double t = 1.0, delta; t > EPS;) {
    mark = 0;
    delta = Check(x, y);
    if (Check(x + t, y) < delta) {
      x += t;
      mark = 1;
    } else if (Check(x - t, y) < delta) {
      x -= t;
      mark = 1;
    } else if (Check(x, y + t) < delta) {
      y += t;
      mark = 1;
    } else if (Check(x, y - t) < delta) {
      y -= t;
      mark = 1;
    }
    if (!mark) t /= 2;
  }
  if (fabs(Check(x, y)) < EPS) printf("%.5lf %.5lf", x, y);
  return 0;
}
