#include <bits/stdc++.h>
using namespace std;
void ASS(bool b) {
  if (!b) {
    ++*(int*)0;
  }
}
#pragma comment(linker, "/STACK:106777216")
const int K = 203;
double d[K + 5][K + 5][K * 2 + 5];
int p[K];
int a[K];
int main() {
  int n, L, k0;
  cin >> n >> L >> k0;
  for (int i = 0; i < (int)(n); i++) cin >> p[i];
  for (int i = 0; i < (int)(n); i++) cin >> a[i];
  d[0][0][K + k0] = 1;
  for (int i = 0; i < (int)(n); i++) {
    for (int j = 0; j < (int)(i + 1); j++) {
      for (int k = 0; k < (int)(K * 2 + 1); k++) {
        double pwin = p[i] / 100.0;
        int nk = min(K * 2, k + a[i]);
        d[i + 1][j + 1][nk] += pwin * d[i][j][k];
        d[i + 1][j][k] += (1 - pwin) * d[i][j][k];
      }
    }
  }
  double res = 0;
  for (int i = L; i <= K; i++)
    for (int j = K; j <= 2 * K; j++) res += d[n][i][j];
  printf("%0.9lf\n", res);
  return 0;
}
