위젯 중개상의 최대 수익

q>p이고 e>d인 생산자와 소비자 쌍 중에서 (q-p)(e-d)를 최대로 만드는 쌍을 골라 최대 이익을 출력한다. 각각 최대 500000개다.

어려움8분할 정복기하정렬그리디아직 제출이 없습니다시간 제한5초메모리 제한512 MB

문제

당신은 위젯 시장의 중개상이다. 생산 회사에서 위젯을 사서 소비 회사에 판다.

생산 회사 ii는 위젯 한 개를 pip_i달러에 팔고, 첫 위젯은 did_i일에 나온다. 하루에 한 개씩 공급한다. 소비 회사 jj는 위젯 한 개를 qjq_j달러에 사고, 마지막으로 받는 위젯은 ej1e_j - 1일에 배송된 것이다. 이쪽도 하루에 한 개씩 받는다.

공정거래법 때문에 생산 회사 한 곳, 소비 회사 한 곳하고만 계약을 맺을 수 있다. 계약을 맺으면 did_i일부터 ej1e_j - 1일까지 매일 위젯을 한 개 사서 그날 바로 넘기므로, 그 ejdie_j - d_i일 동안 하루에 qjpiq_j - p_i달러를 번다.

qj>piq_j > p_i이고 ej>die_j > d_i이면 이 조합으로 (qjpi)(ejdi)(q_j - p_i)(e_j - d_i)달러를 번다. 그렇지 않으면 배송되는 위젯이 하나도 없거나 팔 때마다 손해를 보므로 버는 돈이 없다. 가장 많이 버는 조합을 고른다.

입력

첫째 줄에 생산 회사의 수 mm과 소비 회사의 수 nn이 주어진다 (1m,n5000001 \le m, n \le 500000).

다음 mm개 줄에는 각각 두 정수 pip_idid_i가 주어진다 (1pi,di1091 \le p_i, d_i \le 10^9). pip_i는 생산 회사 ii가 위젯 한 개를 파는 가격이고, did_i는 첫 위젯이 나오는 날이다.

이어지는 nn개 줄에는 각각 두 정수 qjq_jeje_j가 주어진다 (1qj,ej1091 \le q_j, e_j \le 10^9). qjq_j는 소비 회사 jj가 위젯 한 개를 사는 가격이고, eje_j는 마지막 위젯을 받아야 하는 날의 바로 다음 날이다.

출력

벌 수 있는 최대 금액을 달러 단위 정수 하나로 출력한다. 어떤 조합으로도 양의 이익을 낼 수 없으면 0을 출력한다.