#include <bits/stdc++.h>
using namespace std;
const double eps = 1e-6;
int dx[4] = {1, -1, 0, 0};
int dy[4] = {0, 0, 1, -1};
struct Cerc {
  int x, y, r;
} c[4];
double ansx, ansy, ans;
double dist(double x, double y, double a, double b) {
  return sqrt((x - a) * (x - a) + (y - b) * (y - b));
}
int nxt(int a) { return ((a == 3) ? 1 : (a + 1)); }
double cal(double x, double y) {
  double res = 0;
  double g[4];
  for (int i = 1; i <= 3; i++) g[i] = dist(x, y, c[i].x, c[i].y) / c[i].r;
  for (int i = 1; i <= 3; i++) res += (g[i] - g[nxt(i)]) * (g[i] - g[nxt(i)]);
  return res / 3;
}
int main() {
  for (int i = 1; i <= 3; i++) cin >> c[i].x >> c[i].y >> c[i].r;
  ansx = (c[1].x + c[2].x + c[3].x) / 3.0;
  ansy = (c[1].y + c[2].y + c[3].y) / 3.0;
  ans = cal(ansx, ansy);
  double T = 1;
  while (T > eps) {
    int dir = -1;
    for (int i = 0; i < 4; i++)
      if (cal(ansx + dx[i] * T, ansy + dy[i] * T) < ans)
        ans = cal(ansx + dx[i] * T, ansy + dy[i] * T), dir = i;
    if (dir == -1)
      T /= 2;
    else
      ansx += dx[dir] * T, ansy += dy[dir] * T;
  }
  if (ans < eps) cout << fixed << setprecision(5) << ansx << " " << ansy;
  return 0;
}
