E. Краны с водой
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Рассмотрим систему из n кранов, наполняющих некоторую емкость водой. Кран i может быть настроен на подачу любого объема воды от 0 до ai мл в секунду (это число может быть действительным). Вода в i-м кране имеет температуру ti.

Если для каждого выставить, чтобы i-й кран наливал ровно xi мл воды в секунду, то температура воды в результате будет (если , то во избежание деления на ноль считаем температуру равной 0).

Вам необходимо выставить все краны таким образом, чтобы полученная температура была ровно T. Какой максимальный объем воды в секунду температуры T можно получить?

Входные данные

В первой строке записаны два целых числа n и T (1 ≤ n ≤ 200000, 1 ≤ T ≤ 106) — количество кранов с водой и желаемая температура воды соответственно.

Во второй строке записаны n целых чисел a1, a2, ..., an (1 ≤ ai ≤ 106), где ai — максимальный объем воды, который i-й кран может выдавать в секунду.

В третьей строке записаны n целых чисел t1, t2, ..., tn (1 ≤ ti ≤ 106) — температура воды в каждом кране.

Выходные данные

Выведите максимальный возможный объем воды температуры T, который можно получить в секунду (если невозможно получить воду желаемой температуры, то ответ равен 0).

Ваш ответ будет засчитан, если его абсолютная или относительная ошибка не будет превосходить 10 - 6.

Примеры
Входные данные
2 100
3 10
50 150
Выходные данные
6.000000000000000
Входные данные
3 9
5 5 30
6 6 10
Выходные данные
40.000000000000000
Входные данные
2 12
1 3
10 15
Выходные данные
1.666666666666667