fun main(args: Array<String>) {
    val N = readLine()!!.toInt()
    val P = Array(N) {
        val (x, y) = readLine()!!.split(" ").map(String::toDouble)
        V(x, y)
    }
    val distances = P.toPairs().map { it.first.distanceTo(it.second) }
    val ans = distances.sum() * fact(N - 1) * 2 / fact(N)
    println(ans)
}

data class V(val x: Double, val y: Double) {
    fun distanceTo(o: V) = Math.sqrt((x - o.x) * (x - o.x) + (y - o.y) * (y - o.y))
}

fun fact(n: Int) = (1..n).fold(1) { i, j -> i * j }

fun <T> Array<T>.toPairs(): Array<Pair<T, T>> {
    val ret = mutableListOf<Pair<T, T>>()
    for (i in 0 until this.size - 1) {
        for (j in i + 1 until this.size) {
            ret += Pair(this[i], this[j])
        }
    }
    return ret.toTypedArray()
}