#include <bits/stdc++.h>
using namespace std;
const int maxN = 5;
long double x[maxN], y[maxN], r[maxN], val[maxN];
long double f(long double xx, long double yy) {
  for (int i = 0; i < 3; ++i) {
    val[i] = sqrt((x[i] - xx) * (x[i] - xx) + (y[i] - yy) * (y[i] - yy)) / r[i];
  }
  val[3] = val[0];
  long double answer = 0;
  for (int i = 0; i < 3; ++i)
    answer += (val[i] - val[i + 1]) * (val[i] - val[i + 1]);
  return answer;
}
int main() {
  for (int i = 0; i < 3; ++i) cin >> x[i] >> y[i] >> r[i];
  long double pX = (x[0] + x[1] + x[2]) / 3., pY = (y[0] + y[1] + y[2]) / 3.;
  long double qq = 1.;
  while (qq > 1e-5) {
    if (f(pX - qq, pY) < f(pX, pY))
      pX -= qq;
    else if (f(pX + qq, pY) < f(pX, pY))
      pX += qq;
    else if (f(pX, pY - qq) < f(pX, pY))
      pY -= qq;
    else if (f(pX, pY + qq) < f(pX, pY))
      pY += qq;
    else
      qq *= 0.777777777;
  }
  if (f(pX, pY) > 1e-5) return 0;
  cout << fixed << setprecision(15) << pX << " " << pY << endl;
  return 0;
}
