#include <bits/stdc++.h>
using namespace std;
double dp[201][201][2 * 201];
double p[201];
int volume[201];
int main() {
  int n, l, k;
  int i, j, r;
  scanf("%d%d%d", &n, &l, &k);
  for (i = 1; i <= n; i++) {
    scanf("%lf", &p[i]);
    p[i] /= 100.0;
  }
  for (i = 1; i <= n; i++) scanf("%d", &volume[i]);
  dp[0][0][200 + k] = 1.0;
  for (i = 0; i < n; i++)
    for (j = 0; j <= i; j++)
      for (r = 0; r <= 400; r++) {
        if (volume[i + 1] == -1) {
          if (r - 1 >= 0) dp[i + 1][j + 1][r - 1] += dp[i][j][r] * p[i + 1];
          dp[i + 1][j][r] += dp[i][j][r] * (1 - p[i + 1]);
        } else {
          int w = min(r + volume[i + 1], 400);
          dp[i + 1][j + 1][w] += dp[i][j][r] * p[i + 1];
          dp[i + 1][j][r] += dp[i][j][r] * (1 - p[i + 1]);
        }
      }
  double ans = 0;
  for (i = l; i <= n; i++)
    for (j = 200; j <= 400; j++) {
      ans += dp[n][i][j];
    }
  printf("%.12lf\n", ans);
  return 0;
}
