#include <bits/stdc++.h>
using namespace std;
const int N = 205;
int n, l, k, a[N];
bool vis[N][N][N];
double p[N], dp[N][N][N];
double solve(int i, int w, int c) {
  if (c < 0) return 0;
  if (i >= n) return c >= w && w >= l;
  double &x = dp[i][w][c];
  if (vis[i][w][c]) return x;
  vis[i][w][c] = 1;
  return x = p[i] * solve(i + 1, w + 1, min(c + a[i], N - 1)) +
             (1 - p[i]) * solve(i + 1, w, c);
}
int main() {
  cin >> n >> l >> k;
  for (int i = 0; i < n; i++) {
    double x;
    cin >> x;
    p[i] = x / 100.0;
  }
  for (int i = 0; i < n; i++) cin >> a[i], a[i]++;
  cout << fixed << setprecision(15) << solve(0, 0, k);
}
