from itertools import permutations



n = int(eval(input()))

*ps, = (tuple(map(int, input().split())) for _ in range(n))



ret = 0

for perm in permutations(ps):

    it = iter(perm)

    p = next(it)

    for q in it:

        ret += ((p[0] - q[0]) ** 2 + (p[1] - q[1]) ** 2) ** 0.5

        p = q





def fact(n):

    if n == 0: return 1

    return n * fact(n - 1)





ret /= fact(n)



print(ret)

def main():

    from collections import namedtuple

    from itertools import permutations

    from math import factorial



    City = namedtuple('City', 'x y')



    def dist(a: City, b: City) -> float:

        dx = a.x - b.x

        dy = a.y - b.y

        return (dx * dx + dy * dy) ** 0.5



    N = int(eval(input()))



    cities = []

    for _ in range(N):

        x, y = list(map(int, input().split()))

        c = City(x=x, y=y)

        cities.append(c)



    total = 0

    for perm in permutations(cities):

        it = iter(perm)

        p = next(it)



        for city in it:

            total += dist(p, city)

            p = city



    ans = total / factorial(N)

    print(ans)





if __name__ == '__main__':

    main()



# import sys

#

# sys.setrecursionlimit(10 ** 7)

#

# input = sys.stdin.readline

# rstrip()

# int(input())

# map(int, input().split())

from itertools import permutations

n = int(eval(input()))
(*ps,) = (tuple(map(int, input().split())) for _ in range(n))
ret = 0
for perm in permutations(ps):
    it = iter(perm)
    p = next(it)
    for q in it:
        ret += ((p[0] - q[0]) ** 2 + (p[1] - q[1]) ** 2) ** 0.5
        p = q


def fact(n):
    if n == 0:
        return 1
    return n * fact(n - 1)


ret /= fact(n)
print(ret)

def main():
    from collections import namedtuple
    from itertools import permutations
    from math import factorial

    City = namedtuple("City", "x y")

    def dist(a: City, b: City) -> float:
        dx = a.x - b.x
        dy = a.y - b.y
        return (dx * dx + dy * dy) ** 0.5

    N = int(eval(input()))
    cities = []
    for _ in range(N):
        x, y = list(map(int, input().split()))
        c = City(x=x, y=y)
        cities.append(c)
    total = 0
    for perm in permutations(cities):
        it = iter(perm)
        p = next(it)
        for city in it:
            total += dist(p, city)
            p = city
    ans = total / factorial(N)
    print(ans)


if __name__ == "__main__":
    main()
# import sys
#
# sys.setrecursionlimit(10 ** 7)
#
# input = sys.stdin.readline
# rstrip()
# int(input())
# map(int, input().split())

-from itertools import permutations +def main(): +    from collections import namedtuple +    from itertools import permutations +    from math import factorial -n = int(eval(input())) -(*ps,) = (tuple(map(int, input().split())) for _ in range(n)) -ret = 0 -for perm in permutations(ps): -    it = iter(perm) -    p = next(it) -    for q in it: -        ret += ((p[0] - q[0]) ** 2 + (p[1] - q[1]) ** 2) ** 0.5 -        p = q +    City = namedtuple("City", "x y") + +    def dist(a: City, b: City) -> float: +        dx = a.x - b.x +        dy = a.y - b.y +        return (dx * dx + dy * dy) ** 0.5 + +    N = int(eval(input())) +    cities = [] +    for _ in range(N): +        x, y = list(map(int, input().split())) +        c = City(x=x, y=y) +        cities.append(c) +    total = 0 +    for perm in permutations(cities): +        it = iter(perm) +        p = next(it) +        for city in it: +            total += dist(p, city) +            p = city +    ans = total / factorial(N) +    print(ans) -def fact(n): -    if n == 0: -        return 1 -    return n * fact(n - 1) - - -ret /= fact(n) -print(ret) +if __name__ == "__main__": +    main() +# import sys +# +# sys.setrecursionlimit(10 ** 7) +# +# input = sys.stdin.readline +# rstrip() +# int(input()) +# map(int, input().split())