#include<iostream> #include<cstdio> #include<cmath> #define inf 0x7fffffff using namespace std; inline int read(){ int x=0,f=1;char ch=getchar(); while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();} while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();} return x*f; } struct point{ double x,y,v; }p[1001]; int n; double xx,yy,ans,t; inline double dis(double x,double y,point p){ return sqrt((p.x-x)*(p.x-x)+(p.y-y)*(p.y-y)); } inline double getsum(double x,double y){ double res=0; for(int i=1;i<=n;i++) res+=p[i].v*dis(x,y,p[i]); return res; } int main(){ scanf("%d",&n); t=10000; for(int i=1;i<=n;i++){ scanf("%lf%lf%lf",&p[i].x,&p[i].y,&p[i].v); xx+=p[i].v*p[i].x;yy+=p[i].v*p[i].y; } xx/=n;yy/=n; ans=getsum(xx,yy); double x,y,tmp; while(t>0.0000001){ x=y=0; for(int i=1;i<=n;i++){ x+=p[i].v*(p[i].x-xx)/dis(xx,yy,p[i]); y+=p[i].v*(p[i].y-yy)/dis(xx,yy,p[i]); } tmp=getsum(xx+x*t,yy+y*t); if(tmp<ans){ans=tmp;xx+=x*t;yy+=y*t;} t*=0.9; } printf("%.2lf %.2lf\n",xx,yy); }