#include <bits/stdc++.h>
using namespace std;
double dp[204][204][203];
void solve() {
  long long n, l, k;
  cin >> n >> l >> k;
  double a[n + 3], p[n + 3];
  for (long long i = 1; i <= n; i++) cin >> p[i];
  for (long long i = 1; i <= n; i++) cin >> a[i], a[i]++;
  dp[0][0][k] = 1;
  for (long long i = 1; i <= n; i++) {
    for (long long j = 0; j <= i; j++) {
      for (long long k = 0; k <= 200; k++) {
        dp[i][j + 1][min(200LL, k + (long long)a[i])] +=
            dp[i - 1][j][k] * (p[i] / 100);
        dp[i][j][k] += dp[i - 1][j][k] * (1.0 - p[i] / 100);
      }
    }
  }
  double ans = 0.0;
  for (long long i = l; i <= 200; i++) {
    for (long long j = i; j <= 200; j++) {
      ans += dp[n][i][j];
    }
  }
  cout << fixed << setprecision(10) << ans << "\n";
}
signed main() {
  ios_base ::sync_with_stdio(0);
  cin.tie(NULL);
  cout.tie(NULL);
  solve();
  return 0;
}
