N = int(eval(input()))

x,y = [],[]

for _ in range(N):

	xt, yt = list(map(int, input().split()))

	x.append(xt)

	y.append(yt)



def solve(ite):

	a = 0

	for i in range(len(ite)-1):

		a += ((x[ite[i]] - x[ite[i+1]])**2 + (y[ite[i]] - y[ite[i+1]])**2) ** (1/2)

	return a





def next_permutation(n, flg, perm):

	S = []

	if flg.count(0) == 0:

		return solve(perm)



	a = 0

	for i in range(n):

		if flg[i] != 0:

			continue



		flg[i] = 1

		perm.append(i)



		a += next_permutation(n, flg, perm)



		flg[i] = 0

		perm.pop()



	return a





flg = [0] * N

perm = []



A = next_permutation(N,flg,perm)



for i in range(1,N+1):

	A /= i



print(A)

import itertools



N = int(eval(input()))

XY = [list(map(int, input().split())) for _ in range(N)]



ans = 0

for trans in itertools.permutations(list(range(N))):

	distance = 0

	for i in range(1,N):

		ind_2, ind_1 = trans[i], trans[i-1]

		x2,y2 = XY[ind_2]

		x1,y1 = XY[ind_1]

		distance += ((x2-x1)**2 + (y2-y1)**2)**(1/2)



	ans += distance



for i in range(1,N+1):

	ans /= i



print(ans)



N = int(eval(input()))
x, y = [], []
for _ in range(N):
    xt, yt = list(map(int, input().split()))
    x.append(xt)
    y.append(yt)


def solve(ite):
    a = 0
    for i in range(len(ite) - 1):
        a += ((x[ite[i]] - x[ite[i + 1]]) ** 2 + (y[ite[i]] - y[ite[i + 1]]) ** 2) ** (
            1 / 2
        )
    return a


def next_permutation(n, flg, perm):
    S = []
    if flg.count(0) == 0:
        return solve(perm)
    a = 0
    for i in range(n):
        if flg[i] != 0:
            continue
        flg[i] = 1
        perm.append(i)
        a += next_permutation(n, flg, perm)
        flg[i] = 0
        perm.pop()
    return a


flg = [0] * N
perm = []
A = next_permutation(N, flg, perm)
for i in range(1, N + 1):
    A /= i
print(A)

import itertools

N = int(eval(input()))
XY = [list(map(int, input().split())) for _ in range(N)]
ans = 0
for trans in itertools.permutations(list(range(N))):
    distance = 0
    for i in range(1, N):
        ind_2, ind_1 = trans[i], trans[i - 1]
        x2, y2 = XY[ind_2]
        x1, y1 = XY[ind_1]
        distance += ((x2 - x1) ** 2 + (y2 - y1) ** 2) ** (1 / 2)
    ans += distance
for i in range(1, N + 1):
    ans /= i
print(ans)

+import itertools + -x, y = [], [] -for _ in range(N): -    xt, yt = list(map(int, input().split())) -    x.append(xt) -    y.append(yt) - - -def solve(ite): -    a = 0 -    for i in range(len(ite) - 1): -        a += ((x[ite[i]] - x[ite[i + 1]]) ** 2 + (y[ite[i]] - y[ite[i + 1]]) ** 2) ** ( -            1 / 2 -        ) -    return a - - -def next_permutation(n, flg, perm): -    S = [] -    if flg.count(0) == 0: -        return solve(perm) -    a = 0 -    for i in range(n): -        if flg[i] != 0: -            continue -        flg[i] = 1 -        perm.append(i) -        a += next_permutation(n, flg, perm) -        flg[i] = 0 -        perm.pop() -    return a - - -flg = [0] * N -perm = [] -A = next_permutation(N, flg, perm) +XY = [list(map(int, input().split())) for _ in range(N)] +ans = 0 +for trans in itertools.permutations(list(range(N))): +    distance = 0 +    for i in range(1, N): +        ind_2, ind_1 = trans[i], trans[i - 1] +        x2, y2 = XY[ind_2] +        x1, y1 = XY[ind_1] +        distance += ((x2 - x1) ** 2 + (y2 - y1) ** 2) ** (1 / 2) +    ans += distance -    A /= i -print(A) +    ans /= i +print(ans)