#include <bits/stdc++.h>
using namespace std;
double dp[210][210][410], p[210];
int cap[210];
int main() {
  int n, need, start;
  scanf("%d %d %d", &n, &need, &start);
  dp[0][0][201 + start] = 1;
  for (int i = 0, _n = (n); i < _n; i++) {
    scanf("%lf", p + i);
    p[i] /= 100;
  }
  for (int i = 0, _n = (n); i < _n; i++) scanf("%d", cap + i);
  for (int i = 0, _n = (n); i < _n; i++) {
    for (int j = (0), _n = (n); j <= _n; j++) {
      for (int k = 0, _n = (402); k < _n; k++) {
        dp[i + 1][j + 1][min(401, k + cap[i])] += dp[i][j][k] * p[i];
        dp[i + 1][j][k] += (1 - p[i]) * dp[i][j][k];
      }
    }
  }
  double ans = 0;
  for (int j = (need), _n = (n); j <= _n; j++)
    for (int i = (201), _n = (401); i <= _n; i++) {
      ans += dp[n][j][i];
    }
  printf("%.10lf\n", ans);
  return 0;
}
