import Data.Array
import Data.List
import qualified Data.Vector.Unboxed as V

main = do
  n <- readLn
  ps <- V.replicateM n $ do
    [x, y] <- map read . words <$> getLine :: IO [Int]
    return (x, y)
  let dist (x1, y1) (x2, y2) = sqrt . fromIntegral $ ((x1 - x2) ^ 2) + ((y1 - y2) ^ 2)
  let dists = array ((0,0), (n-1, n-1)) [((i, j), dist (ps V.! i) (ps V.! j)) | i <- [0..n-1], j <- [0..n-1]]
  print $ solve n dists


solve :: Int -> Array (Int, Int) Double -> Double
solve n dists = (/ (fromIntegral (product [1..n]))) . sum . map go . permutations $ [0..n-1]
  where
    go [] = 0
    go (i:[]) = 0
    go (i:j:ps) = dists ! (i, j) + go (j:ps)