#include <bits/stdc++.h>
using namespace std;
bool debug = false;
double dp[205][555][205];
const int offset = 250;
int n, l, K;
double p[205];
int b[205];
int main(int argc, char* argv[]) {
  ios::sync_with_stdio(0);
  cin >> n >> l >> K;
  for (int i = 0; i < n; i++) {
    cin >> p[i];
    p[i] /= 100.0;
  }
  for (int i = 0; i < n; i++) {
    cin >> b[i];
  }
  dp[0][K + offset][0] = 1;
  for (int i = 0; i < n; i++) {
    for (int j = 0; j <= offset * 2; j++) {
      for (int k = 0; k <= n; k++) {
        if (dp[i][j][k]) {
          dp[i + 1][j][k] += dp[i][j][k] * (1 - p[i]);
          if (j + b[i] >= 0) {
            dp[i + 1][min(j + b[i], offset * 2)][k + 1] += dp[i][j][k] * p[i];
          }
        }
      }
    }
  }
  double ans = 0;
  for (int j = 0; j <= offset; j++) {
    for (int k = l; k <= n; k++) {
      ans += dp[n][j + offset][k];
    }
  }
  printf("%.9f", ans);
  return 0;
}
