import java.math.*

fun main(args: Array<String>) {
    val N = readInputLine().toInt()
    
    var divNum = 1.0
    
    for (i in 1..N) {
        divNum *= i
    }

    val pos = Array<Pair<Double, Double>>(N) { Pair(0.0, 0.0) }
    
    for (i in 0 until N) {
        val (x, y) = readInputLine().split(" ").map { it.toDouble() }
        pos[i] = Pair(x, y)
    }
    
    val arr = IntArray(N) { it }

    var ans = 0.0

    do {
        var tmp = 0.0
        for (i in 1 until N) {
            tmp += Math.sqrt((pos[arr[i]].first - pos[arr[i - 1]].first) * (pos[arr[i]].first - pos[arr[i - 1]].first)
                             + (pos[arr[i]].second - pos[arr[i - 1]].second) * (pos[arr[i]].second - pos[arr[i - 1]].second))
        }
        tmp /= divNum
        ans += tmp
    } while (nextPermutation(arr))

    println(ans)
}

fun readInputLine(): String {
    return readLine()!!
}

fun nextPermutation(arr: IntArray): Boolean {
    var i = arr.size - 1
    while (i > 0 && arr[i - 1] >= arr[i]) {
        i--
    }

    if (i <= 0) {
        return false
    }
    
    var j = arr.size - 1
    while (arr[j] <= arr[i - 1]) {
        j--
    }

    var temp = arr[i - 1];
    arr[i - 1] = arr[j];
    arr[j] = temp;
    
    j = arr.size - 1;
    while (i < j) {
        temp = arr[i];
        arr[i] = arr[j];
        arr[j] = temp;
        i++;
        j--;
    }
    
    return true;
}
