import bisect N,M,C = map(int,input().split()); Error = pow(10,-9); INF = float("inf") A = list(map(int,input().split())) B = list(map(int,input().split())) B = [-INF] + B + [INF] B.sort() ALL = N*M cnt = 0 for i in range(N): ok = M+1 ng = 0 while abs(ok-ng) > 1: mid = (ok+ng)//2 if B[mid]*A[i] > C: ok = mid else: ng = mid cnt += M+1 - ok #print(cnt) ans = cnt/ALL print(ans)