#include <bits/stdc++.h>
using namespace std;
const int N = 202;
int n, l, k, i, p[N], a[N];
double dp[N][N][N * 2 + 1];
double solve(int idx = 0, int rem = l, int cap = k + N) {
  if (idx >= n) return (rem <= 0 && cap >= N);
  double &ret = dp[idx][rem][cap];
  if (ret == ret) return ret;
  return ret = solve(idx + 1, rem - 1, min(cap + a[idx], N * 2)) * p[idx] /
                   100.0 +
               solve(idx + 1, rem, cap) * (1 - p[idx] / 100.0);
}
int main() {
  cin >> n >> l >> k;
  for (i = 0; i < n; ++i) cin >> p[i];
  for (i = 0; i < n; ++i) cin >> a[i];
  memset(dp, -1, sizeof dp);
  printf("%0.9lf\n", solve());
  return 0;
}
