시간 제한메모리 제한제출정답맞힌 사람정답 비율
2 초 (추가 시간 없음) 1024 MB (추가 메모리 없음)178696138.608%

문제

플레이어 $N$명이 $M$개의 팀으로 나누어 게임을 진행하려 한다. 각 팀의 인원수는 $t_1,$ $t_2,$ $\cdots,$ $t_M$이며, $i$번째 플레이어는 리더 점수 $L_i$와 플레이어 점수 $P_i$를 가진다. 각 플레이어는 정확히 한 팀에 속해야 한다.

각 팀의 리더는 팀에 속한 플레이어 중 리더 점수가 제일 큰 사람이다. 만약 한 팀에 리더 점수가 가장 큰 플레이어가 여러 명이라면, 한 플레이어만 리더가 된다. 이때 팀의 능력은 리더의 플레이어 점수로 정의된다.

플레이어를 각 팀에 적절히 분배하여 모든 팀의 능력의 합을 최대한 크게 해 보자!

입력

첫째 줄에 $N$, $M$이 주어진다. ($1 \le M \le N \le 3 \cdot 10^5$)

이어지는 줄부터 $N$개의 줄에 걸쳐 두 정수 $L_i$와 $P_i$가 주어진다. ($ 1 \le L_i,P_i \le 10^5$)

마지막 줄에는 $M$개의 정수가 주어진다. $i$번째 수는 $t_i$이다. ($1 \le t_i \le N$, $\displaystyle \sum_{i=1}^M{t_i}=N$)

출력

팀을 적절히 분배하였을 때 각 팀의 능력의 합의 최댓값을 출력하라.

예제 입력 1

7 3
2 4
2 4
3 1
1 2
3 4
1 5
6 7
1 2 4

예제 출력 1

16