Quiz
문제
In the quiz ProgrammeringsQuiz there are questions in total, distributed over different categories (for example, algorithm theory, compiler construction or Sven knowledge).
The questions are worth different amounts of points. Additionally, you will get a bonus if you answer all questions in a certain category. Simone has participated in Programmeringsolympiaden since 8th grade, so she is able to answer all the questions.
Unfortunately, there is a time limit to the quiz. Despite never giving the wrong answer, Simone will only have time to answer questions. What is the maximum number of points she can achieve?
입력
The first line consists of four integers , , , . The following lines consist of two integers each: the points given for answering the question (an integer between and ) and which category it belongs to (between and ). Each category will have at least one question.
출력
Print one line containing the maximal possible number of points.
힌트
In the first sample Simone answers both questions from category 1 ( points) and the only question in category 2 ( points). Since these were the only questions in these two categories we get two bonuses, which gives a total of points.
예제
예제 1
5 3 3 1000 300 1 400 1 200 2 200 3 300 3
2900
예제 2
5 3 3 1 300 1 400 1 200 2 300 3 200 3
1001