#include <bits/stdc++.h>
using namespace std;
const int MAX = 205;
int arr[MAX];
double p[MAX];
double dp[MAX][MAX][MAX];
int n, l, k;
double solve(int idx, int cnt, int w) {
  if (idx == n) {
    if (cnt >= l && w >= 0)
      return 1.00;
    else
      return 0.00;
  }
  double &ret = dp[idx][cnt][w];
  if (fabs(ret + 1) > 1e-9) return ret;
  ret = p[idx] * solve(idx + 1, cnt + 1, min(200, w + arr[idx]));
  ret += (1.00 - p[idx]) * solve(idx + 1, cnt, w);
  return ret;
}
int main() {
  memset(dp, -1.00, sizeof(dp));
  ios::sync_with_stdio(0);
  cin.tie(0);
  cin >> n >> l >> k;
  for (int i = 0; i < n; ++i) {
    cin >> p[i];
    p[i] /= 100.00;
  }
  for (int i = 0; i < n; ++i) cin >> arr[i];
  cout << fixed << setprecision(12) << solve(0, 0, k) << "\n";
  return 0;
}
