
fun main(args: Array<String>){
  val n = readInt()
  val x_y = (1..n).map { readInts()?.let { it[0] to it[1] } }
  
  val list = (0 until n).map { it }
  val permList = permute(list)
  var sum = 0.0
  for(perm in permList) {
    var s = 0.0
    for (i in 0 until n - 1) {
      val a = x_y[perm[i]]
      val b = x_y[perm[i + 1]]
      val dx = a.first - b.first
      val dy = a.second - b.second
      val d = Math.sqrt((dx * dx + dy * dy).toDouble())
      s += d
    }
    sum += s
  }
  
  var fact = 1
  for (i in 1..n) {
    fact *= i
  }
  println(sum / fact)
}

fun <Int> permute(list:List <Int>):List<List<Int>>{
  if(list.size==1) return listOf(list)
  val perms=mutableListOf<List <Int>>()
  val sub=list[0]
  for(perm in permute(list.drop(1)))
    for (i in 0..perm.size){
      val newPerm=perm.toMutableList()
      newPerm.add(i,sub)
      perms.add(newPerm)
    }
  return perms
}


fun readString() = readLine()!!
fun readStrings() = readString().split(' ')
fun readInt() = readString().toInt()
fun readInts() = readStrings().map { it.toInt() }

