#include <bits/stdc++.h>
using namespace std;
double t[1000005];
double dp[205][205][405];
int C = 400;
double p[10005];
int a[10005];
int main() {
  int n, x, y, d, m, k, i, j;
  scanf("%d%d%d", &n, &m, &k);
  dp[0][0][k + C] = 1;
  for (i = 1; i <= n; i++) {
    scanf("%lf", &p[i - 1]);
    p[i - 1] /= 100;
  }
  for (i = 1; i <= n; i++) {
    scanf("%d", &a[i - 1]);
  }
  for (i = 0; i < n; i++) {
    for (j = 0; j <= i; j++) {
      for (k = C - 200; k <= C + 200; k++) {
        if (dp[i][j][k] > 0) {
          dp[i + 1][j + 1][min(k + a[i], C + 200)] += p[i] * dp[i][j][k];
          dp[i + 1][j][k] += (1 - p[i]) * dp[i][j][k];
        }
      }
    }
  }
  double ans = 0;
  for (i = m; i <= n; i++) {
    for (j = C; j <= C + 200; j++) {
      ans += dp[n][i][j];
    }
  }
  printf("%.10f\n", ans);
  return 0;
}
