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