function Main(input) {
    input = input.split('\n')
    var n = input[0]
    var cord = []
    for(var i = 1; i < input.length; i++) {
         var temp =  input[i].split(' ')
      cord[i - 1] = [+temp[0], +temp[1]]
    }
    var sum = []
    cord.forEach(function(it) {
        traversal(cord, [it], sum)
    })
    console.log(+sum.reduce(function(memo, it) {
         return memo + it / sum.length
     }, 0).toFixed(10))
    
    function traversal(arr, path, sum) {
     //path是一个数组，存储当前走到的路径的下标，当走到底时计算路径长度并存入sum数组
     if(path.length === arr.length) {
         var len = 0
         for(var i = 1; i < path.length; i++) {
             len += Math.sqrt(Math.pow(path[i][0] - path[i - 1][0], 2) + Math.pow(path[i][1] - path[i - 1][1], 2))
         }
         sum.push(len)
     } else {
         arr.forEach(function(it) {
             if(path.indexOf(it) === -1) {
                 var tempPath = path.slice()
                 tempPath.push(it)
                 traversal(arr, tempPath, sum)
             }
         })
     }
    }
 }
Main(require("fs").readFileSync("/dev/stdin", "utf8"))