#include <bits/stdc++.h>
using namespace std;
double m[210][210][420], p[201];
int a[201], n, l, k;
double f(int i, int l, int k) {
  return m[i][l][210 + k] > 1
             ? m[i][l][210 + k]
             : m[i][l][210 + k] =
                   i == n ? 2 + (l <= 0 && k >= 0)
                          : p[i] * f(i + 1, max(0, l - 1), min(201, k + a[i])) +
                                (1 - p[i]) * f(i + 1, l, k);
}
int main() {
  cin >> n >> l >> k;
  for (int i = 0; i < n; ++i) cin >> p[i], p[i] /= 100;
  for (int i = 0; i < n; ++i) cin >> a[i];
  printf("%.9lf\n", f(0, l, k) - 2);
}
