#include <bits/stdc++.h>
using namespace std;
double dp[201][201][203];
int main() {
  int n, l, K;
  cin >> n >> l >> K;
  double p[n + 1];
  for (int i = 1; i <= n; i++) {
    cin >> p[i];
    p[i] /= 100;
  }
  int a[n + 1];
  for (int i = 1; i <= n; i++) {
    cin >> a[i];
    a[i]++;
  }
  dp[0][0][0] = 1;
  for (int i = 1; i <= n; i++) {
    for (int j = 0; j <= i; j++) {
      for (int k = 0; k < a[i]; k++) {
        dp[i][j][k] = dp[i - 1][j][k] * (1 - p[i]);
      }
      for (int k = a[i]; k <= 201; k++) {
        if (j == 0) {
          dp[i][j][k] = dp[i - 1][j][k] * (1 - p[i]);
        } else {
          dp[i][j][k] = dp[i - 1][j][k] * (1 - p[i]) +
                        dp[i - 1][j - 1][k - a[i]] * (p[i]);
        }
      }
      dp[i][j][202] = dp[i - 1][j][202] * (1 - p[i]);
      if (j > 0) {
        dp[i][j][202] += dp[i - 1][j - 1][202] * (p[i]);
        for (int k = 202 - a[i]; k <= 201; k++) {
          dp[i][j][202] += dp[i - 1][j - 1][k] * p[i];
        }
      }
    }
  }
  double ans = 0;
  for (int j = l; j <= n; j++) {
    for (int k = max(0, j - K); k <= 202; k++) {
      ans += dp[n][j][k];
    }
  }
  cout << ans << endl;
  return 0;
}
