local msq = math.sqrt
local n = io.read("*n")
local x, y = {}, {}
for i = 1, n do
  x[i], y[i] = io.read("*n", "*n")
end
local function getlen(i, j)
  return msq((x[i] - x[j]) * (x[i] - x[j]) + (y[i] - y[j]) * (y[i] - y[j]))
end
local tot = 1
for i = 2, n do
  tot = tot * i
end
local function getpattern(n, patall, idx)
  local used = {}
  local retary = {}
  local div = patall
  for i = 1, n do used[i] = false end
  for i = n, 1, -1 do
    div = div // i
    local v_idx = idx // div
    idx = idx % div
    local tmp_idx = 0
    for j = 1, n do
      if not used[j] then
        if tmp_idx == v_idx then
          table.insert(retary, j)
          used[j] = true
          break
        else
          tmp_idx = tmp_idx + 1
        end
      end
    end
  end
  return retary
end
local ans = 0
for i = 0, tot - 1 do
  local ary = getpattern(n, tot, i)
  for j = 1, n - 1 do
    ans = ans + getlen(ary[j], ary[j + 1])
  end
end
print(ans / tot)
