#include <bits/stdc++.h>
using namespace std;
int n, L, k, p[210], a[210];
double dp[210][210][410], ans;
double pro[210];
signed main() {
  ios::sync_with_stdio(false);
  cin >> n >> L >> k;
  for (int i = 1; i <= n; i++) {
    cin >> p[i];
    pro[i] = p[i] * 1.0 / 100;
  }
  for (int i = 1; i <= n; i++) cin >> a[i];
  dp[0][0][k + 200] = 1.0;
  for (int i = 0; i < n; i++) {
    for (int j = 0; j <= i; j++) {
      for (int l = 0; l <= 400; l++) {
        if (a[i + 1] == -1) {
          if (l > 0) dp[i + 1][j + 1][l - 1] += dp[i][j][l] * pro[i + 1];
          dp[i + 1][j][l] += dp[i][j][l] * (1 - pro[i + 1]);
        } else {
          dp[i + 1][j + 1][min(400, a[i + 1] + l)] += dp[i][j][l] * pro[i + 1];
          dp[i + 1][j][l] += dp[i][j][l] * (1 - pro[i + 1]);
        }
      }
    }
  }
  for (int j = 0; j <= n; j++) {
    for (int l = 0; l <= 400; l++) {
      if (j >= L && l >= 200) {
        ans += dp[n][j][l];
      }
    }
  }
  cout << fixed << setprecision(10) << ans << endl;
  return 0;
}
