너 재능 있어
시간 제한1초메모리 제한1024 MB
N번의 승리와 M번의 패배 순서를 정해 최종 점수를 최대로 만든다. 점수가 aK+b (0<b<K)일 때 패배는 min(L_j, b)만 잃는다.
문제
리그 오브 레전드(이하 롤)를 즐기는 민우는 자기보다 롤을 못하는 민석이를 도발했다.
너? 재능 있어. 열심히 해.
민석이는 너무 분하여 어떻게 하면 점수를 효율적으로 올릴 수 있는지 연구하기 시작했다. 철저한 자기 객관화가 가능한 민석이는 앞으로의 게임에서 번의 승리와 번의 패배를 하게 될 것이란 사실을 알고 있다. 민석이는 번째 승리를 하게 된다면 만큼의 점수를 얻게 되고, 번째 패배를 하게 된다면 만큼의 점수를 잃게 된다. 민석이의 점수는 점에서 시작하고, 점수는 음수가 될 수 있다.
롤에는 민석이와 같은 하수들이 한 번에 너무 큰 점수를 잃지 않도록 매 점마다 점수 보호권이 존재한다. 정수 와 를 만족하는 정수 에 대하여, 민석이의 현재 점수가 라고 하자. 만약 민석이가 이 상태에서 번째 패배를 당했다면, 현재 점수에서 점을 초과하여 잃지 않는다. 다시 말해, 민석이는 만큼의 점수를 잃게 된다. 만약 현재 점수가 라면, 만큼의 점수를 잃게 됨에 유의하자.
당연하게도 민석이는 번의 게임 후 가장 높은 점수를 얻고 싶다. 민석이를 도와주자.
입력
첫 번째 줄에 승리 시 얻을 수 있는 점수를 나타내는 배열 의 길이 이 주어진다.
두 번째 줄에 의 원소 개가 공백으로 구분되어 주어진다. 의 모든 원소는 이상 이하의 정수다.
세 번째 줄에 패배 시 잃게 되는 점수를 나타내는 배열 의 길이 이 주어진다.
네 번째 줄에 의 원소 개가 공백으로 구분되어 주어진다. 의 모든 원소는 이상 이하의 정수다.
다섯 번째 줄에 점수 보호를 위한 정수 가 주어진다.
출력
번의 승리와 번의 패배를 한 후 민석이가 얻을 수 있는 점수의 최댓값을 출력한다.