#include <bits/stdc++.h>
using namespace std;
int n, l, k, p[205], a[205];
long double dp[205][205][205 * 2];
int main() {
  cin >> n >> l >> k;
  for (int i = 0; i < n; i++) cin >> p[i];
  for (int i = 0; i < n; i++) cin >> a[i];
  dp[0][0][205 + k] = 1;
  for (int i = 0; i < n; i++) {
    for (int j = 0; j <= n; j++)
      for (int k = 0; k < 2 * 205 - 1; k++) {
        if (a[i] == -1) {
          dp[i + 1][j + 1][k - 1] += dp[i][j][k] * p[i] / 100;
          dp[i + 1][j][k] += dp[i][j][k] * (100 - p[i]) / 100;
        } else {
          dp[i + 1][j + 1][min(2 * 205 - 2, k + a[i])] +=
              dp[i][j][k] * p[i] / 100;
          dp[i + 1][j][k] += dp[i][j][k] * (100 - p[i]) / 100;
        }
      }
  }
  long double res1 = 0, res2 = 0;
  for (int j = l; j <= n; j++)
    for (int k = 205; k < 2 * 205; k++) res1 += dp[n][j][k];
  cout.precision(6);
  cout << fixed << res1 << endl;
  return 0;
}
