#include <bits/stdc++.h>
using namespace std;
double dp[201][401][201];
int main() {
  for (int i = 0; i <= 200; i++)
    for (int j = 0; j <= 400; j++)
      for (int k = 0; k <= 200; k++) dp[i][j][k] = 0.0;
  int n, l, k;
  cin >> n >> l >> k;
  double p[200];
  for (int i = 0; i < n; i++) {
    cin >> p[i];
    p[i] /= 100.0;
  }
  int a[200];
  for (int i = 0; i < n; i++) {
    cin >> a[i];
  }
  dp[0][k + 200][0] = 1.0;
  for (int tour = 0; tour < n; tour++)
    for (int space = -200; space <= 200; space++)
      for (int win = 0; win <= 200; win++) {
        int space2;
        if (a[tour] == -1)
          space2 = space - 1;
        else
          space2 = min(space + a[tour], 200);
        if (space2 >= -200)
          dp[tour + 1][space2 + 200][win + 1] +=
              dp[tour][space + 200][win] * p[tour];
        dp[tour + 1][space + 200][win] +=
            dp[tour][space + 200][win] * (1.0 - p[tour]);
      }
  double res = 0.0;
  for (int win = l; win <= 200; win++)
    for (int space = 0; space <= 200; space++) {
      res += dp[n][space + 200][win];
    }
  printf("%1.15lf\n", res);
  return 0;
}
