#include
#include
#define PI 3.141592653589793
using namespace std;
int main(){
double x[3],y[3];
double k[2][2],b[2][2],x0,y0,r;
while(scanf("%lf%lf%lf%lf%lf%lf",&x[0],&y[0],&x[1],&y[1],&x[2],&y[2])==6){
if(x[0]==x[1]){
y0 = (y[0]+y[1])/2;
//根据第二条线求
if(y[0]==y[2]){
x0 = (x[0]+x[2])/2;
}
else{
k[1][0] = (y[0]-y[2])/(x[0]-x[2]);
b[1][0] = y[0]-k[1][0]*x[0];
k[1][1] = -1/k[1][0];
b[1][1] = (y[0]+y[2])/2-k[1][1]*(x[0]+x[2])/2;
x0 = (y0-b[1][1])/k[1][1];
}
goto l1;
}
if(x[0]==x[2]){
y0 = (y[0]+y[2])/2;
//根据第一条线求
if(y[0]==y[1]){
x0 = (x[0]+x[1])/2;
}
else{
k[0][0] = (y[0]-y[1])/(x[0]-x[1]);
b[0][0] = y[0]-k[0][0]*x[0];
k[0][1] = -1/k[0][0];
b[0][1] = (y[0]+y[1])/2-k[0][1]*(x[0]+x[1])/2;
x0 = (y0-b[0][1])/k[0][1];
}
goto l1;
}
if(y[0]==y[1]){
x0 = (x[0]+x[1])/2;
//根据第二条线求
k[1][0] = (y[0]-y[2])/(x[0]-x[2]);
b[1][0] = y[0]-k[1][0]*x[0];
k[1][1] = -1/k[1][0];
b[1][1] = (y[0]+y[2])/2-k[1][1]*(x[0]+x[2])/2;
y0 = k[1][1]*x0 + b[1][1];
goto l1;
}
if(y[0]==y[2]){
x0 = (x[0]+x[2])/2;
//根据第一条线求
k[0][0] = (y[0]-y[1])/(x[0]-x[1]);
b[0][0] = y[0]-k[0][0]*x[0];
k[0][1] = -1/k[0][0];
b[0][1] = (y[0]+y[1])/2-k[0][1]*(x[0]+x[1])/2;
y0 = k[0][1]*x0+b[0][1];
goto l1;
}
k[0][0] = (y[0]-y[1])/(x[0]-x[1]);
b[0][0] = y[0]-k[0][0]*x[0];
k[0][1] = -1/k[0][0];
b[0][1] = (y[0]+y[1])/2-k[0][1]*(x[0]+x[1])/2;
k[1][0] = (y[0]-y[2])/(x[0]-x[2]);
b[1][0] = y[0]-k[1][0]*x[0];
k[1][1] = -1/k[1][0];
b[1][1] = (y[0]+y[2])/2-k[1][1]*(x[0]+x[2])/2;
x0 = -(b[1][1]-b[0][1])/(k[1][1]-k[0][1]);
y0 = k[0][1]*x0+b[0][1];
l1: r = sqrt((x0-x[0])*(x0-x[0])+(y0-y[0])*(y0-y[0]));
printf("%.2lf\n",PI*r*2);
}
return 0;
}