#include <bits/stdc++.h>
using namespace std;
struct pt {
  double x;
  double y;
  double r;
};
int dx[4] = {0, -1, 0, 1};
int dy[4] = {1, 0, -1, 0};
pt p[3];
pt ans;
double len(pt a, pt b) {
  return sqrt((a.x - b.x) * (a.x - b.x) + (a.y - b.y) * (a.y - b.y));
}
double dis(pt pp) {
  double l[3];
  for (int i = 0; i < 3; i++) {
    double ll = len(pp, p[i]);
    l[i] = (p[i].r / ll);
  }
  double dd = 0.0;
  for (int i = 0; i < 3; i++) {
    dd += (l[i] - l[(i + 1) % 3]) * (l[i] - l[(i + 1) % 3]);
  }
  return dd;
}
int main() {
  for (int i = 0; i < 3; i++) {
    cin >> p[i].x >> p[i].y >> p[i].r;
    ans.x += p[i].x / 3.0;
    ans.y += p[i].y / 3.0;
  }
  pt tmp;
  double s = dis(ans);
  bool flag;
  double times = 1.0;
  for (int i = 1; i < 300000 && s > 1e-14; i++) {
    flag = false;
    for (int j = 0; j < 4; j++) {
      tmp.x = ans.x + times * double(dx[j]);
      tmp.y = ans.y + times * double(dy[j]);
      if (dis(tmp) < s) {
        s = dis(tmp);
        ans = tmp;
        flag = true;
      }
    }
    if (!flag) times *= 0.5;
  }
  cout.precision(5);
  if (dis(ans) <= 1e-14) cout << fixed << ans.x << ' ' << ans.y << endl;
  return 0;
}
