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