#include<iostream>
#include<string>
#include<iomanip>
#include<cmath>
#include<vector>
#include<algorithm>
#include<utility>

using namespace std;

#define int long long
#define endl "\n"

constexpr long long INF = (long long)1e18;
constexpr long long MOD = 1'000'000'007; 

struct fast_io {
	fast_io(){
		std::cin.tie(nullptr);
		std::ios::sync_with_stdio(false);
	};
} fio;

signed main(){
	cout<<fixed<<setprecision(10);
	
	int N, M, C;
    int ans = 0;
    vector<int> a, b;
    
    cin>>N>>M>>C;
	
    a.resize(N);
    b.resize(M);
	
    for(int i = 0; i < N; i++){
        cin>>a[i];
    }
    
    for(int i = 0; i < M; i++){
        cin>>b[i];
    }
    
    sort(a.begin(), a.end());
    sort(b.begin(), b.end());
    
    for(int i = 0; i < N; i++){
        // int x = (a[i] + C-1) / C;
        int x = (C + a[i]) / a[i];
        
        // cout<<"x = "<<x<<" a[i] = "<<a[i]<<" C = "<<C<<endl;
        ans += b.end() - lower_bound(b.begin(), b.end(), x);
        // cout<<ans<<endl;
    }
    
    cout<<(long double)ans/(N * M)<<endl;
    
	return 0;
}