#include <algorithm>
#include <iostream>
#include <cstring>
#include <cstdio>
#include <cctype>
#include <cmath>
using namespace std;
#define I inline
#define R register
#define inf 1073742823
#define FOR(i,begin,end) for(R int i=begin;i<=end;++i)
#define ROF(i,begin,end) for(R int i=begin;i>=end;--i)

const double eps=1e-10;
const double pi=acos(-1.0);
I int dcmp(double x)
{   if(fabs(x)<eps)return 0;
    else return x<0?-1:1;}
#define P point
#define PP const P &
struct point{
    double x,y;
    I P(const double &_x=0,const double &_y=0):x(_x),y(_y){}
    I bool operator ==(PP a)const{return dcmp(x-a.x)==0&&dcmp(y-a.y)==0;}
    I bool operator<(PP a)const{return x<a.x||(x==a.x&&y<a.y);}
    I P operator+(PP a)const{return P(x+a.x,y+a.y);}
    I P operator-(PP a)const{return P(x-a.x,y-a.y);}
    I P operator*(const double a)const{return P(x*a,y*a);}
    I P operator/(const double a)const{return P(x/a,y/a);}
    I P operator*(PP a)const{return P(x*a.x-y*a.y,x*a.y+y*a.x);}
    I double len()const{return sqrt(x*x+y*y);}
    I double len2()const{return x*x+y*y;}
    I P rotate(const double theta)const{return P(x,y)*P(cos(theta),sin(theta));}
    I double operator|(PP a)const{return x*a.x+y*a.y;}
    I double operator&(PP a)const{return x*a.y-y*a.x;}
    I P norm(){return *this/len();}
    I double angle(PP a)const{return *this|a/len()/a.len();}
}p[1000005];
typedef point vec;

struct line{
    P a,b;
    I line(PP _a=P(0,0),PP _b=P(0,0)):a(_a),b(_b){}
    I P cross(const line &A){
        return a+(b-a)*((A.b-A.a)&(a-A.a))/((b-a)&(A.b-A.a));
    }
};

P circle(PP a,PP b,PP c){
    P A=(a+b)/2,B=(a+c)/2;
    vec k1=b-a,k2=c-a;
    k1=k1.rotate(pi/2),k2=k2.rotate(pi/2);
    line l1=line(A,A+k1),l2=line(B,B+k2);
    return l1.cross(l2);
}

int n;

signed main(){
    scanf("%d",&n);
    FOR(i,1,n)scanf("%lf%lf",&p[i].x,&p[i].y);
    random_shuffle(p+1,p+n+1);
    P o;double r2=0;
    FOR(i,1,n)
        if((p[i]-o).len2()>r2){
            o=p[i],r2=0;
            FOR(j,1,i-1)
            if((p[j]-o).len2()>r2){
                o=(p[i]+p[j])/2,r2=(p[j]-o).len2();
                FOR(k,1,j-1)
                    if((p[k]-o).len2()>r2)
                        o=circle(p[i],p[j],p[k]),r2=(p[k]-o).len2();
            }
        }
    printf("%.10lf\n%.10lf %.10lf\n", sqrt(r2), o.x, o.y);
    return 0;
}