점술 2

양면에 숫자가 적힌 N장의 카드를 A면이 보이게 놓고 보이는 수가 T_j 이하인 카드를 뒤집는 과정을 K번 반복한 뒤 보이는 수의 합을 구합니다.

어려움8세그먼트 트리정렬시뮬레이션아직 제출이 없습니다시간 제한2초메모리 제한256 MB

문제

K 교수는 일본 정보 올림피아드 위원회의 위원장이다. 그는 점 보는 것을 좋아해서 늘 여러 가지 방식으로 점을 친다. 오늘은 카드로 점을 쳐서 올해 일본 대표단의 결과를 알아보기로 했다.

카드의 양면에는 각각 정수가 하나씩 적혀 있다. 한 카드의 양면에 적힌 두 정수가 같을 수도 있다. 카드를 탁자에 놓으면 한쪽 면의 정수만 보이고 반대쪽 면의 정수는 보이지 않는다.

점은 다음과 같이 친다.

  • 먼저 K 교수가 카드 NN장을 탁자에 놓는다. 카드에는 1번부터 NN번까지 번호가 붙어 있다. 카드 ii의 한쪽 면에는 정수 AiA_i가, 반대쪽 면에는 정수 BiB_i가 적혀 있다. 모든 ii에 대해 카드 iiAiA_i가 보이도록 놓는다.
  • j=1,2,,Kj = 1, 2, \dots, K의 순서로 다음 연산을 한다. 보이는 정수가 TjT_j 이하인 카드를 모두 뒤집는다.
  • 연산 KK개를 모두 끝낸 뒤 탁자 위 카드에 보이는 정수의 합이 점의 결과다.

카드를 하나하나 뒤집을지 판단하는 일이 지루하다는 것을 깨달은 K 교수는 결국 카드로 점치기를 그만두었다. 그는 연산 KK개를 모두 끝낸 뒤 탁자 위 카드에 보이는 정수의 합만 알고 싶어 한다.

카드에 적힌 정수와 연산 정보가 주어질 때, 연산을 모두 끝낸 뒤 탁자 위 카드에 보이는 정수의 합을 구하는 프로그램을 작성하시오.

입력

표준 입력으로 다음 데이터를 읽는다.

  • 첫 줄에 정수 NNKK가 공백으로 구분되어 주어진다. 카드가 NN장이고 연산이 KK개라는 뜻이다.
  • 이어지는 NN개 줄 중 ii번째 줄(1iN1 \le i \le N)에 정수 AiA_iBiB_i가 공백으로 구분되어 주어진다. 카드 ii에 적힌 두 정수가 AiA_iBiB_i라는 뜻이다.
  • 그다음 KK개 줄 중 jj번째 줄(1jK1 \le j \le K)에 정수 TjT_j가 주어진다. jj번째 연산에서 보이는 정수가 TjT_j 이하인 카드를 뒤집는다는 뜻이다.

입력은 모두 다음 조건을 만족한다.

  • 1N2000001 \le N \le 200000
  • 1K2000001 \le K \le 200000
  • 1Ai10000000001 \le A_i \le 1000000000 (1iN1 \le i \le N)
  • 1Bi10000000001 \le B_i \le 1000000000 (1iN1 \le i \le N)
  • 1Tj10000000001 \le T_j \le 1000000000 (1jK1 \le j \le K)

출력

연산 KK개를 모두 끝낸 뒤 탁자 위 카드에 보이는 정수의 합을 표준 출력에 한 줄로 출력한다.

예시 설명

첫 번째 예제에서 처음에 카드에 보이는 정수는 차례대로 4, 9, 8, 4, 3이다. 연산은 다음과 같이 진행된다.

  • 보이는 정수가 8 이하인 카드를 뒤집는다. 연산 후 보이는 정수는 차례대로 6, 9, 8, 2, 7이다.
  • 보이는 정수가 2 이하인 카드를 뒤집는다. 연산 후 보이는 정수는 차례대로 6, 9, 8, 4, 7이다.
  • 보이는 정수가 9 이하인 카드를 뒤집는다. 연산 후 보이는 정수는 차례대로 4, 1, 8, 2, 3이다.

연산을 모두 끝낸 뒤 보이는 정수의 합은 4+1+8+2+3=184+1+8+2+3 = 18이다.