Роботы
На некотором заводе решили модернизировать производство и закупили для этого роботов. Так как для обработки детали требовалось выполнение двух операций, роботы также были двух типов: первую операцию выполняли роботы типа А, а вторую - роботы типа В. Чтобы сэкономить на покупке роботов, было решено купить не новых роботов последней модели, а уже бывших в употреблении. В результате, время, которое разные роботы тратили на выполнение одной и той же операции, существенно различалось, что привело к трудностям в планировании работ.
Составьте программу, которая по заданному набору роботов обоих типов определяет, за какое минимальное время они смогут обработать определенное количество деталей.
Входные данные
В первой строке натуральное число 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
, а потом роботом типа В
. Временем передачи детали от робота типа А
роботу типа В*
пренебречь.