eolymp
bolt
Попробуйте наш новый интерфейс для отправки задач
Задачи

Роботы

Роботы

Лимит времени 1 секунда
Лимит использования памяти 64 MiB

На некотором заводе решили модернизировать производство и закупили для этого роботов. Так как для обработки детали требовалось выполнение двух операций, роботы также были двух типов: первую операцию выполняли роботы типа А, а вторую - роботы типа В. Чтобы сэкономить на покупке роботов, было решено купить не новых роботов последней модели, а уже бывших в употреблении. В результате, время, которое разные роботы тратили на выполнение одной и той же операции, существенно различалось, что привело к трудностям в планировании работ.

Составьте программу, которая по заданному набору роботов обоих типов определяет, за какое минимальное время они смогут обработать определенное количество деталей.

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

В первой строке натуральное число N, 1 ≤ N ≤ 100000 - количество деталей, которое необходимо обработать.

Во второй строке натуральное число Na, 1 ≤ Na ≤ 1000` - количество роботов, выполняющих первую операцию.

В третьей строке через пробел Na натуральных чисел A[i], 1 ≤ A[i] ≤ 100 - время, которое тратит i-ый робот типа A на выполнение операции.

В четвертой строке натуральное число Nb, 1 ≤ Nb ≤ 1000 - количество роботов, выполняющих вторую операцию.

В пятой строке через пробел Nb натуральных чисел B[i], 1 ≤ B[i] ≤ 100 - время, которое тратит i-ый робот типа В на выполнение операции.

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

В первой строке одно целое число - минимальное время, за которое все N деталей будут обработаны сначала роботом типа A, а потом роботом типа В. Временем передачи детали от робота типа А роботу типа В* пренебречь.

Пример

Входные данные #1
6
3
1 3 2
2
2 3
Выходные данные #1
9