#include <bits/stdc++.h>
using namespace std;
double dp[201][201][402];
double P[200];
int A[200];
int main() {
  int N, L, K;
  cin >> N >> L >> K;
  for (int i = 0; i < N; i++) {
    cin >> P[i];
    P[i] /= 100.0;
  }
  for (int i = 0; i < N; i++) cin >> A[i];
  for (int i = L; i <= N; i++)
    for (int j = 200; j < 402; j++) dp[N][i][j] = 1.0;
  for (int i = N - 1; i >= 0; i--)
    for (int j = 0; j <= N; j++)
      for (int k = 0; k < 402; k++) {
        dp[i][j][k] = (1 - P[i]) * dp[i + 1][j][k];
        if (A[i] == -1)
          dp[i][j][k] += P[i] * dp[i + 1][min(N, j + 1)][max(0, k - 1)];
        else
          dp[i][j][k] += P[i] * dp[i + 1][min(N, j + 1)][min(401, k + A[i])];
      }
  printf("%0.9lf\n", dp[0][0][200 + K]);
  return 0;
}
