#include <bits/stdc++.h>
#pragma comment(linker, "/STACK:102400000,102400000")
using namespace std;
int p[210];
int a[210];
double dp[210][210][410];
int li = 200;
int main() {
  int n, l, kk;
  scanf("%d%d%d", &n, &l, &kk);
  for (int i = 1; i <= n; i++) scanf("%d", p + i);
  for (int i = 1; i <= n; i++) scanf("%d", a + i);
  memset(dp, 0, sizeof dp);
  dp[0][0][li + kk] = 1.0;
  for (int i = 1; i <= n; i++) {
    for (int j = 0; j <= 200; j++) {
      for (int k = 0; k <= 400; k++) {
        dp[i][j][k] += dp[i - 1][j][k] * 1.0 * (100.0 - p[i]) / 100.0;
        if (k + a[i] >= 400)
          dp[i][j + 1][400] += dp[i - 1][j][k] * p[i] / 100.0;
        else
          dp[i][j + 1][k + a[i]] += dp[i - 1][j][k] * p[i] / 100.0;
      }
    }
  }
  double ans = 0;
  for (int j = l; j <= n; j++) {
    for (int k = li; k <= 400; k++) {
      ans += dp[n][j][k];
    }
  }
  printf("%.6lf\n", ans);
  return 0;
}
