#include <bits/stdc++.h>
using namespace std;
ifstream in("secv3.in");
ofstream out("secv3.out");
const int N = 30005;
int a[N],b[N],s[N],t[N];
int main()
{
int n,l,u;
in >> n >> l >> u;
for (int i = 1; i<=n; i++)
{
in >> a[i];
s[i] = s[i-1]+a[i];
}
for (int i = 1; i<=n; i++)
{
in >> b[i];
t[i] = t[i-1]+b[i];
}
double Max = 0;
int j = 1;
for (int i = 1; i<=n; i++)
{
while ( j<i && ((i-j+1>u) || (i-j+1>l && (double)(s[i]-s[j])/(t[i]-t[j])>(double)(s[i]-s[j-1])/(t[i]-t[j-1])) ) )
j++;
if (i-j+1>=l && i-j+1<=u)
Max = max(Max,(double)(s[i]-s[j-1])/(t[i]-t[j-1]));
}
out << Max;
}