#include <algorithm>
#include <iostream>
#include <cstdio>
using namespace std;
int n, l, k;
double dp[205][205][205], ans;//pass [] gates, win [] games, with size[]
struct Node{
double p;
int a;
}nd[205];
bool cmp(Node x, Node y){
return x.a>y.a;
}
int main(){
cin>>n>>l>>k;
for(int i=1; i<=n; i++){
scanf("%lf", &nd[i].p);
nd[i].p /= 100.0;
}
for(int i=1; i<=n; i++)
scanf("%d", &nd[i].a);
sort(nd+1, nd+1+n, cmp);
dp[0][0][min(k,n)] = 1.0;
for(int i=1; i<=n; i++)
for(int j=0; j<i; j++)
for(int o=0; o<=n; o++){
dp[i][j][o] += dp[i-1][j][o] * (1.0 - nd[i].p);
int t=o+nd[i].a;
if(t<0) continue;
if(t>n) t = n;
dp[i][j+1][t] += dp[i-1][j][o] * nd[i].p;
}
for(int i=l; i<=n; i++)
for(int j=0; j<=n; j++)
ans += dp[n][i][j];
printf("%.6f
", ans);
return 0;
}