#include <bits/stdc++.h>
using namespace std;
const int maxn = 2e2;
int p[maxn + 5], t[maxn + 5];
double dp[maxn + 5][maxn + 5][2 * maxn + 5];
int main() {
  int n, l, k;
  scanf("%d%d%d", &n, &l, &k);
  for (int i = 1; i <= n; ++i) scanf("%d", &p[i]);
  for (int i = 1; i <= n; ++i) scanf("%d", &t[i]);
  for (int i = 0; i <= 2 * maxn; ++i) dp[0][0][i] = 0;
  dp[0][0][maxn] = 1;
  for (int i = 0; i < n; ++i) {
    memset(dp[i + 1], 0, sizeof(dp[i + 1]));
    for (int j = 0; j <= i; ++j) {
      for (int q = 0; q <= 2 * maxn; ++q) {
        dp[i + 1][j][q] += dp[i][j][q] * (1 - double(p[i + 1]) / 100);
        int tmp = q + t[i + 1];
        if (tmp > 2 * maxn) tmp = 2 * maxn;
        dp[i + 1][j + 1][tmp] += dp[i][j][q] * (double(p[i + 1]) / 100);
      }
    }
  }
  double ans = 0;
  for (int i = l; i <= n; ++i)
    for (int j = maxn - k; j <= 2 * maxn; ++j) ans += dp[n][i][j];
  printf("%.8f\n", ans);
  return 0;
}
