E. Гоша выходит на охоту
ограничение по времени на тест
5 секунд
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Гоша выходит на охоту. Его цель — поймать как можно больше покемонов. У Гоши есть a покеболов и b ультраболов. Всего покемонов n. Они пронумерованы числами от 1 до n. Про i-го покемона Гоша знает, что если бросить в него покеболом, то с вероятностью pi данный покемон будет пойман. Если бросить в i-го покемона ультраболом, то он будет пойман с вероятностью ui. В каждого покемона можно бросить не более чем одним болом каждого типа.

Охота происходит следующим образом: Гоша сначала выбирает не более чем a покемонов, в которых он будет бросать покеболами, и не более чем b покемонов, в которых он будет бросать ультраболами. После этого Гоша бросает в выбранных покемонов выбранными болами. Если он бросает в покемона и покеболом, и ультраболом, то данный покемон будет пойман, если он будет пойман хотя бы одним из двух болов. Результаты бросков независимы.

Гоша хочет узнать, чему равно математическое ожидание количества пойманных покемонов, если он будет действовать оптимально. Иными словами, он хочет узнать максимально возможное математическое ожидание.

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

В первой строке входных данных записано три целых числа n, a и b (2 ≤ n ≤ 2000, 0 ≤ a, b ≤ n) — количество покемонов, количество покеболов и количество ультраболов.

Во второй строке записано n вещественных чисел p1, p2, ..., pn (0 ≤ pi ≤ 1), где pi — вероятность, что Гоша поймает i-го покемона, если бросит в него покеболом.

В третьей строке записано n вещественных чисел: u1, u2, ..., un (0 ≤ ui ≤ 1), где ui — вероятность, что Гоша поймает i-го покемона, если бросит в него ультраболом.

Все вероятности заданы ровно с тремя знаками после десятичного разделителя.

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

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

Примеры
Входные данные
3 2 2
1.000 0.000 0.500
0.000 1.000 0.500
Выходные данные
2.75
Входные данные
4 1 3
0.100 0.500 0.500 0.600
0.100 0.500 0.900 0.400
Выходные данные
2.16
Входные данные
3 2 0
0.412 0.198 0.599
0.612 0.987 0.443
Выходные данные
1.011