#include <bits/stdc++.h>
using namespace std;
pair<int, double> arr[210];
int n, l, k;
double dp[210][210][210];
double solve(int idx, int rem, int num) {
  if (rem < 0) return 0;
  if (idx == n) return num >= l;
  double& ret = dp[idx][rem][num];
  if (ret == ret) return ret;
  ret = 0;
  ret += solve(idx + 1, rem, num) * (1 - arr[idx].second) +
         solve(idx + 1, min(202, rem + arr[idx].first), num + 1) *
             (arr[idx].second);
  return ret;
}
int main() {
  cin >> n >> l >> k;
  for (int i = 0; i < n; ++i) {
    int x;
    scanf("%d", &x);
    arr[i].second = x / 100.0;
  }
  for (int i = 0; i < n; ++i) scanf("%d", &arr[i].first);
  sort(arr, arr + n);
  reverse(arr, arr + n);
  memset(dp, -1, sizeof dp);
  printf("%.7f\n", solve(0, k, 0));
  return 0;
}
