#include <bits/stdc++.h>
using namespace std;
template <typename T, typename U>
inline void amin(T &x, U y) {
  if (y < x) x = y;
}
template <typename T, typename U>
inline void amax(T &x, U y) {
  if (x < y) x = y;
}
double x[3], y[3], r[3], cx, cy, ste, ang[3];
double differ(double cx, double cy) {
  for (int(i) = 0; (i) < (int)(3); ++(i))
    ang[i] =
        sqrt(((x[i] - cx) * (x[i] - cx)) + ((y[i] - cy) * (y[i] - cy))) / r[i];
  double res = 0;
  for (int(i) = 0; (i) < (int)(3); ++(i))
    res += ((ang[i] - ang[(i + 1) % 3]) * (ang[i] - ang[(i + 1) % 3]));
  return res;
}
int main() {
  for (int(i) = 0; (i) < (int)(3); ++(i))
    scanf("%lf %lf %lf", &x[i], &y[i], &r[i]);
  ste = 1;
  while (ste > 1e-6) {
    if (differ(cx, cy) > differ(cx + ste, cy))
      cx += ste;
    else if (differ(cx, cy) > differ(cx - ste, cy))
      cx -= ste;
    else if (differ(cx, cy) > differ(cx, cy + ste))
      cy += ste;
    else if (differ(cx, cy) > differ(cx, cy - ste))
      cy -= ste;
    else
      ste /= 2;
  }
  if (differ(cx, cy) < 1e-5) printf("%f %f", cx, cy);
}
