#include <bits/stdc++.h>
using namespace std;
long double DP[202][202][202];
long double P[202];
int A[202];
int main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  int n, l, k;
  cin >> n >> l >> k;
  k = min(k, n);
  for (int i = 1; i <= n; i++) cin >> P[i], P[i] /= 100.0;
  for (int i = 1; i <= n; i++) cin >> A[i];
  DP[1][0][k] = 1;
  for (int i = 1; i <= n; i++)
    for (int j = 0; j < i; j++)
      for (int z = k; z <= n; z++) {
        DP[i + 1][j][z] += DP[i][j][z] * (1.0 - P[i]);
        if (A[i] == -1)
          DP[i + 1][j + 1][z] += DP[i][j][z] * P[i];
        else
          DP[i + 1][j + 1][min(n, z + A[i] + 1)] += DP[i][j][z] * P[i];
      }
  long double ats = 0;
  for (int j = l; j <= n; j++)
    for (int z = max(k, j); z <= n; z++) ats += DP[n + 1][j][z];
  cout << setprecision(13) << fixed << ats;
}
