from __future__ import print_function from functools import reduce from operator import mul from collections import Counter from collections import deque from itertools import accumulate from queue import Queue from queue import PriorityQueue as pq from heapq import heapreplace from heapq import heapify from heapq import heappushpop from heapq import heappop from heapq import heappush import heapq import time import random import bisect import itertools import collections from fractions import Fraction import fractions import string import math import operator import functools import copy import array import re import sys sys.setrecursionlimit(500000) input = sys.stdin.readline # def # eprint(*args, **kwargs): # print(*args, file=sys.stderr, **kwargs) # return # from fractions import gcd # from math import gcd # def lcm(n, m): # return int(n * m / gcd(n, m)) # def coprimize(p, q): # common = gcd(p, q) # return (p // common, q // common) # def find_gcd(list_l): # x = reduce(gcd, list_l) # return x def combinations_count(n, r): r = min(r, n - r) numer = reduce(mul, range(n, n - r, -1), 1) denom = reduce(mul, range(1, r + 1), 1) return numer // denom mod = 1000000007 def combinations_count_mod(n, r): r = min(r, n - r) numer = reduce(lambda x, y: x * y % mod, range(n, n - r, -1), 1) denom = pow(reduce(lambda x, y: x * y % mod, range(1, r + 1), 1), mod - 2, mod) return numer * denom % mod # def solve(): n, m, c = map(int, input().strip().split()) a = sorted(list(map(int, input().strip().split()))) b = sorted(list(map(int, input().strip().split()))) + [sys.maxsize] # eprint('a,b ',end=':\n') # eprint(a,b) cnt = 0 for i in range(n): # if a[i] * b[0] > c: cnt += m continue # # def is_ok(m): if a[i] * b[m] > c: return True else: return False # にぶたんのメイン処理 ok = m ng = 0 while abs(ok - ng) > 1: # 条件を満たすindex ok と 条件を満たさないindex ng が ちょうど 1 ズレる(ちょうどokとngで境界になる)まで続ける mid = (ok + ng) // 2 if is_ok(mid): ok = mid else: ng = mid cnt += (m - 1) - ng # eprint('a[i],b[ok],cnt,m,ng,ok ',end=':\n') # eprint(a[i],b[ok],cnt,m,ng,ok) # if (m - 1) - ng < 0: # eprint('error: n-ng, ', end=':\n') # eprint(n - ng) # eprint('cnt ',end=':\n') # eprint(cnt) print(cnt / (n * m))