// R38821808 #include using namespace std; struct node { int x, y, z; node() { x = y = z = 0; } }; double ed(node a, node b) { return sqrt(pow(a.x - b.x, 2) + pow(a.y - b.y, 2) + pow(a.z - b.z, 2)); } bool cmp(node a, node b) { return a.z <= b.z; } int main() { int n; node a[50005]; double ans = 0.000; scanf("%d", &n); for (int i = 0; i < n; i++) { scanf("%d%d%d", &a[i].x, &a[i].y, &a[i].z); } sort(a, a + n, cmp); for (int i = 1; i < n; i++) { ans += ed(a[i - 1], a[i]); } printf("%.3lf", ans); return 0; }