#include <bits/stdc++.h>
using namespace std;
int n, l, k, a[205];
double p[205], dp[205][205][205];
double getProb(int i, int b, int z) {
  double &ret = dp[i][b][z];
  if (ret >= 0) return ret;
  if (i == n)
    if (b >= 0 && z >= l)
      return ret = 1;
    else
      return ret = 0;
  ret = 0;
  ret += getProb(i + 1, min(200, b + a[i]), z + 1) * p[i];
  ret += getProb(i + 1, b, z) * (1 - p[i]);
  return ret;
}
int main() {
  cin >> n >> l >> k;
  for (int i = 0; i < n; i++) cin >> p[i], p[i] /= 100.0;
  for (int i = 0; i < n; i++) cin >> a[i];
  for (int i = 0; i < 205; i++)
    for (int j = 0; j < 205; j++)
      for (int k = 0; k < 205; k++) dp[i][j][k] = -1.0;
  printf("%0.12f\n", getProb(0, k, 0));
  return 0;
}
