#include <bits/stdc++.h>
using namespace std;
int main() {
  long l, n, k, i, j;
  cin >> n >> l >> k;
  vector<vector<vector<long double> > > d(
      n + 1, vector<vector<long double> >(n + 1, vector<long double>(402, 0)));
  long it;
  vector<long> pp(n), smm(n);
  for (i = 0; i < n; i++) cin >> pp[i];
  for (i = 0; i < n; i++) cin >> smm[i];
  d[0][0][0 + 201] = 1.0;
  for (i = 0; i < n; i++) {
    long p, sm;
    p = pp[i];
    sm = smm[i];
    for (j = 0; j <= i; j++)
      for (it = -201; it < 201; it++) {
        if (d[i][j][it + 201] == 0) continue;
        if (it + sm >= 200)
          d[i + 1][j + 1][200 + 201] += p / 100.0 * d[i][j][it + 201];
        else
          d[i + 1][j + 1][it + 201 + sm] += p / 100.0 * d[i][j][it + 201];
        if (it + sm >= 200)
          d[i + 1][j][200 + 201] += (1.0 - p / 100.0) * d[i][j][it + 201];
        else
          d[i + 1][j][it + 201] += (1.0 - p / 100.0) * d[i][j][it + 201];
      }
  }
  long double ans = 0;
  for (i = l; i <= n; i++)
    for (it = -201; it < 201; it++)
      if (it + k >= 0) ans += d[n][i][it + 201];
  cout.setf(ios::fixed);
  cout.precision(10);
  cout << ans << endl;
  return 0;
}
