#include <bits/stdc++.h>
using namespace std;
int n, t, i;
long long a[200001];
long long b[200001];
int id[200001];
long long sum[200001];
long long sumval[200001];
double ans;
bool compare(int x1, int x2) { return (b[x1] < b[x2]); }
int main() {
  scanf("%d%d", &n, &t);
  for (i = 0; i < n; i++) {
    scanf("%I64d", &a[i]);
  }
  for (i = 0; i < n; i++) {
    scanf("%I64d", &b[i]);
    b[i] -= t;
    id[i] = i;
  }
  sort(id, id + n, compare);
  if (b[id[0]] > 0) {
    printf("%d", 0);
    return 0;
  }
  if (b[id[n - 1]] < 0) {
    printf("%d", 0);
    return 0;
  }
  sum[0] = a[id[0]] * b[id[0]];
  sumval[0] = a[id[0]];
  for (i = 1; i < n; i++) {
    sum[i] = sum[i - 1] + a[id[i]] * b[id[i]];
    sumval[i] = sumval[i - 1] + a[id[i]];
    if ((sum[i] >= 0) && (b[id[i]] > 0)) break;
  }
  if ((b[id[0]] == 0) && (b[id[n - 1]] == 0)) {
    printf("%I64d", sumval[n - 1]);
    return 0;
  }
  if (i < n) {
    while (b[id[i]] == 0)
      ;
    ans = sumval[i - 1] + (double)(-sum[i - 1]) / b[id[i]];
    printf("%.12lf", ans);
    return 0;
  }
  i = 0;
  while (sum[i] > sum[n - 1]) i++;
  while (b[id[i]] == 0)
    ;
  ans =
      sumval[n - 1] - sumval[i] + ((double)(sum[n - 1] - sum[i])) / (-b[id[i]]);
  printf("%.12lf", ans);
  return 0;
}
