import sys # sys.setrecursionlimit(1000010) input=lambda:sys.stdin.readline().strip() # write=lambda x:sys.stdout.write(str(x)+'\n') I=lambda:input() II=lambda:int(input()) LI=lambda:list(input()) MII=lambda:map(int,input().split()) LMII=lambda:list(map(int,input().split())) # from bisect import bisect_left,bisect,insort from collections import deque,Counter,namedtuple,defaultdict # from copy import deepcopy # from decimal import Decimal # from datetime import datetime,timedelta from functools import cmp_to_key,reduce,lru_cache # from fractions import Fraction from heapq import heapify,heappush,heappop from itertools import permutations,combinations,accumulate from math import inf,sqrt,isqrt,gcd,factorial,ceil,floor,e,log,log2,log10,pi,sin,cos,tan,asin,acos,atan,atan2 # from numba import jit # from operator import or_,xor,add,mul from random import randint,shuffle,getrandbits # from sortedcontainers import SortedSet def solve(): n=II() a=LMII() b=LMII() win=0;cnt=0 for p in permutations(a): for q in permutations(b): cnt+=1 c=0 for i in range(n): if p[i]>q[i]: c+=1 if c>n-c: win+=1 print(win/cnt) return test=1 # test=int(input()) for _ in range(test): solve()