#include <bits/stdc++.h>
using namespace std;
int N, L, K;
int a[205], p[205];
double dp[205][205][405];
int min(int a, int b) { return a < b ? a : b; }
int main() {
  cin >> N >> L >> K;
  for (int i = 0; i < N; i++) cin >> p[i];
  for (int i = 0; i < N; i++) cin >> a[i];
  for (int i = 0; i < N; i++)
    for (int j = i + 1; j < N; j++)
      if (a[i] < a[j]) {
        int t = a[i];
        a[i] = a[j];
        a[j] = t;
        t = p[i];
        p[i] = p[j];
        p[j] = t;
      }
  dp[0][0][K] = 1;
  for (int i = 0; i < N; i++)
    for (int j = 0; j <= i; j++)
      for (int k = 0; k <= 400; k++) {
        dp[i + 1][j][k] += dp[i][j][k] * (100 - p[i]) / 100.0;
        if (a[i] == -1 && k > 0)
          dp[i + 1][j + 1][k - 1] += dp[i][j][k] * p[i] / 100.0;
        if (a[i] != -1)
          dp[i + 1][j + 1][min(400, k + a[i])] += dp[i][j][k] * p[i] / 100.0;
      }
  double ans = 0;
  for (int i = L; i <= N; i++)
    for (int j = 0; j <= 400; j++) ans += dp[N][i][j];
  printf("%.9lf\n", ans);
  return 0;
}
