import java.util.*

var count = 0
var sum = 0.0

fun main(args: Array<String>) {
    val sc = Scanner(System.`in`)
    var n = sc.nextInt()
    val t = (1..n).map { Pair(sc.nextDouble(), sc.nextDouble()) }

    dfs(n, t, mutableSetOf<Int>(), 0.0, -1)

    println(sum / count)
}

fun dfs(n: Int, t: List<Pair<Double, Double>>, used: MutableSet<Int>, usedSum: Double, pre: Int) {
    if (used.size == n) {
        count++
        sum += usedSum
        return
    }

    repeat(n) {
        if (!used.contains(it)) {
            val next = mutableSetOf<Int>()
            next.addAll(used)
            next.add(it)
            var nextUsedSum = usedSum
            if (pre != -1) {
                nextUsedSum += Math.sqrt(Math.pow(t[pre].first - t[it].first, 2.0) + Math.pow(t[pre].second - t[it].second, 2.0))
            }
            dfs(n, t, next, nextUsedSum, it)
        }
    }
}
