#include <bits/stdc++.h>
using namespace std;
bool gcd(int a, int b, int& x) {
  if (a == 0) {
    x = b;
    return false;
  }
  int x1, y1;
  bool d = gcd(b % a, a, x1);
  x = (b / a);
  return d;
}
long double a[210];
int mas[210];
long double pre[210][210][410];
int N;
long double go(int l, int n, int space) {
  if (n < 0 && l <= 0 && space >= 0) return 1.0;
  if (n < 0) return 0.0;
  if (l < 0) l = 0;
  if (space > N) space = N;
  if (pre[l][n][space + 201] != -1) return pre[l][n][space + 201];
  double t;
  if (mas[n] == -1) {
    t = a[n] * go(l - 1, n - 1, space - 1) + (1.0 - a[n]) * go(l, n - 1, space);
    pre[l][n][space + 201] = t;
    return t;
  } else {
    t = a[n] * go(l - 1, n - 1, space + mas[n]) +
        (1.0 - a[n]) * go(l, n - 1, space);
    pre[l][n][space + 201] = t;
    return t;
  }
}
int main() {
  int n, l, k, i, j, p, i2;
  cin >> n >> l >> k;
  N = n;
  for (i = 0; i < n; i++) {
    cin >> p;
    a[i] = (long double)p / 100.0;
  }
  for (i = 0; i < n; i++) {
    cin >> p;
    mas[i] = p;
  }
  for (i = 0; i <= l; i++)
    for (j = 0; j < n; j++)
      for (i2 = 0; i2 < 410; i2++) pre[i][j][i2] = -1;
  long double ans = go(l, n - 1, k);
  printf("%.8Lf", ans);
  return 0;
}
