#include<cstdio>
#include<cstring>
#include<cmath>
#include<cstdlib>
#include<algorithm>
using namespace std;
double f[205][205][205];
int n,l,k;
struct aa
{
int a;
double p;
bool operator <(const aa &b) const
{
return a>b.a;
}
}a[205];
int main()
{
scanf("%d%d%d",&n,&l,&k);
for (int i=1;i<=n;i++) scanf("%lf",&a[i].p),a[i].p=a[i].p/100;
for (int i=1;i<=n;i++) scanf("%d",&a[i].a);
f[0][0][min(k,200)]=1;
sort(a+1,a+n+1);
for (int i=0;i<n;i++)
{
for (int j=0;j<=i;j++)
{
for (int h=0;h<=n;h++)
{
f[i+1][j][h]+=f[i][j][h]*(1-a[i+1].p);
if (a[i+1].a+h<0) continue;
f[i+1][j+1][min(h+a[i+1].a,n)]+=f[i][j][h]*a[i+1].p;
}
}
}
double ans=0;
for (int i=0;i<=n;i++)
for (int j=l;j<=n;j++) ans+=f[n][j][i];
printf("%.6lf",ans);
return 0;
}