include[HTML_REMOVED]
include[HTML_REMOVED]
include[HTML_REMOVED]
include[HTML_REMOVED]
using namespace std;
int n,l,k;
const int maxn=310;
double mp[maxn][maxn][maxn2];
double p[maxn];
int a[maxn];
double dfs(int aa,int bb,int cc)
{
if(aa>n)
{
if(bb>=l&&cc>=n)return 1;
else return 0;
}
if(mp[aa][bb][cc]!=-1)return mp[aa][bb][cc];
double ans=0;
if(a[aa]!=-1)ans=p[aa]dfs(aa+1,bb+1,cc-1)+(1.0-p[aa])dfs(aa+1,bb,cc);
else ans=p[aa]dfs(aa+1,bb+1,min(n+n,cc+a[aa]))+(1.0-p[aa])*dfs(aa+1,bb,cc);
mp[aa][bb][cc]=ans;
return ans;
}
int main()
{
freopen(“swz.in”,”r”,stdin);
freopen(“swz.out”,”w”,stdout);
int i,j,ii;
scanf("%d%d%d",&n,&l,&k);
for(i=0;i<=n;i++)
for(j=0;j<=n;j++)
for(ii=0;ii<=n+n;ii++)mp[i][j][ii]=-1;
for(i=1;i<=n;i++)scanf("%lf",&p[i]),p[i]/=100.0;
for(i=1;i<=n;i++)scanf("%d",&a[i]);
printf("%.6f",dfs(1,0,n+min(n,k)));
return 0;
}