#include <bits/stdc++.h>
using namespace std;
const int inf = 1e9, maxn = 223, N = 1e6 + 20, LOG = 21, mod = 1e9 + 7;
const int dx[] = {0, 0, -1, 1}, dy[] = {1, -1, 0, 0};
const long double eps = 1e-12, pi = 3.14159265359;
const pair<unsigned long long, unsigned long long> base = make_pair(1171, 3307);
const long long INF = 1e18;
int n, l, k, a[maxn];
double p[maxn], dp[maxn][maxn][maxn];
int main() {
  cin >> n >> l >> k;
  for (int i = 1; i <= n; ++i) {
    cin >> p[i];
    p[i] /= 100;
  }
  for (int i = 1; i <= n; ++i) {
    cin >> a[i];
    a[i]++;
  }
  dp[0][0][0] = 1;
  for (int i = 0; i < n; ++i)
    for (int j = 0; j <= i; ++j)
      for (int x = 0; x <= n; ++x) {
        dp[i + 1][j + 1][min(n, x + a[i + 1])] += dp[i][j][x] * p[i + 1];
        dp[i + 1][j][x] += dp[i][j][x] * (1 - p[i + 1]);
      }
  double ans = 0;
  for (int i = l; i <= n; ++i)
    for (int j = 0; j <= n; ++j)
      if (j + k >= i) ans += dp[n][i][j];
  cout << fixed << setprecision(12) << ans << '\n';
  return 0;
}
