#include <bits/stdc++.h>
using namespace std;
int p[220], a[220];
double f[220][220][440], ans;
int main() {
  int n, l, t, i, j, k;
  scanf("%d%d%d", &n, &l, &t);
  for (i = 1; i <= n; i++) scanf("%d", &p[i]);
  for (i = 1; i <= n; i++) scanf("%d", &a[i]);
  memset(f, 0, sizeof(f));
  f[0][0][200] = 1;
  for (i = 1; i <= n; i++)
    for (j = 0; j < i; j++)
      for (k = -200; k <= 200; k++) {
        if (k + a[i] + 200 < 0) continue;
        if (k + a[i] + 200 > 400)
          f[i][j + 1][400] += f[i - 1][j][k + 200] * 1.0 * p[i] / 100;
        else
          f[i][j + 1][k + 200 + a[i]] +=
              f[i - 1][j][k + 200] * 1.0 * p[i] / 100;
        f[i][j][k + 200] += f[i - 1][j][k + 200] * (1 - p[i] * 1.0 / 100);
      }
  ans = 0;
  for (i = l; i <= n; i++)
    for (j = 200 - t; j <= 400; j++) ans += f[n][i][j];
  printf("%f\n", ans);
  return 0;
}
