import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader reader=new BufferedReader(new InputStreamReader(System.in));
int count=Integer.parseInt(reader.readLine());
int data[][]=new int[count][3];
for (int i = 0; i < data.length; i++) {
String[] str=reader.readLine().split(" ");
for (int j = 0; j < data[0].length; j++) {
data[i][j]=Integer.parseInt(str[j]);
}
}
quickSort(data, 0, data.length-1 );
double temp=0;
for (int i = 0; i < data.length-1; i++) {
temp+=Math.sqrt((data[i+1][0]-data[i][0])*(data[i+1][0]-data[i][0])+(data[i+1][1]-data[i][1])*(data[i+1][1]-data[i][1])+(data[i+1][2]-data[i][2])*(data[i+1][2]-data[i][2]));
}
String format=String.format("%.3f",temp);
System.out.println(Double.parseDouble(format));
}
public static void quickSort(int arr[][],int left,int right){
int l=left;
int r=right;
int privote=arr[(right-left)/2+left][2];
int x=0;
int y=0;
int z=0;
while (l<r){
while (arr[l][2]<privote){
l++;
}
while(arr[r][2]>privote){
r--;
}
if (l>=r){
break;
}else {
x=arr[l][2];
arr[l][2]=arr[r][2];
arr[r][2]=x;
y=arr[l][1];
arr[l][1]=arr[r][1];
arr[r][1]=y;
z=arr[l][0];
arr[l][0]=arr[r][0];
arr[r][0]=z;
}
if (arr[l][2]==privote){
r++;
}
if (arr[r][2]==privote){
l--;
}
}
if (l==r){
l++;
r--;
}
if (r>left){
quickSort(arr,left,r);
}
if (l<right){
quickSort(arr,l,right);
}
}
}