#include using namespace std; #define rep(i,n) for (long long i = 0; i < (n); ++i) using ll = long long; using P = pair; using vec = vector; using vecp = vector

; using mat = vector; using matp = vector; const ll MOD = 1e9+7; const ll INF = 1e18; #define all(v) v.begin(), v.end() int main(){ ll N,M,C,ans=0; cin >> N >> M >> C; vec A(N),B(M); rep(i,N) cin >> A.at(i); rep(i,M) cin >> B.at(i); sort(all(A)); sort(all(B)); rep(i,N){ ans+=(upper_bound(all(B),C/A.at(i))-B.begin()); } cout << fixed << setprecision(15) << 1.0-(double)ans/double(N*M) << endl; }