#include <bits/stdc++.h>
using namespace std;
void solve();
int main() {
  int z = 1;
  while (z--) solve();
  return 0;
}
int n, l, k;
double p[300];
double dp[251][251][451];
int a[300];
void solve() {
  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 >> a[i];
  dp[0][0][k + 200] = 1.0;
  for (int i = 0; i < n; i++)
    for (int win = 0; win <= i + 1; win++)
      for (int w = 0; w <= 402; w++) {
        int space = w - 200;
        if (a[i] == -1) {
          dp[i + 1][win + 1][w - 1] += dp[i][win][w] * p[i];
          dp[i + 1][win][w] += dp[i][win][w] * (1 - p[i]);
        } else {
          int nex = w + a[i];
          if (nex >= 402) nex = 402;
          dp[i + 1][win + 1][nex] += dp[i][win][w] * p[i];
          dp[i + 1][win][w] += dp[i][win][w] * (1 - p[i]);
        }
      }
  double ans = 0.0;
  for (int win = l; win <= n; win++)
    for (int space = 0; space <= 202; space++) ans += dp[n][win][space + 200];
  printf("%.10lf", ans);
}
