时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

现在天空(可视为二维平面)中有 N 朵 A 类云,M 朵 B 类云,每朵云的形状都可以用边平行于坐标轴的矩形来描述。
一开始,A 类云在第三象限,B 类云在第一象限,没有任何云和坐标轴有交点
随着风的吹拂,A 类云以每秒一个单位的速度向右移动,B 类云以每秒一个单位的速度向下移动,当一朵 A 类云和一朵 B 类云在某一个时刻有了至少一个公共点,它们就相遇了。
现在请你告诉小 R,有多少对 A 类云和 B 类云能够相遇。
1≤N,M≤100,000,1≤|Xi|,|Yi|,|Pi|,|Qi|≤109
注:
1.本题输入规模较大,请注意输入的效率
2.输入的云的形状可能为退化的矩形(直线或点)

输入描述:

输入第一行,包含两个正整数 N 和 M
接下来 N 行,每行描述一朵 A 类云
再接下来 M 行,每行描述一朵 B 类云
一朵云的位置用一行四个数 Xi,Yi,Pi,Qi 表示,意为这朵云左上角在(Xi,Yi),右下角在(Pi,Qi)

输出描述:

一行一个整数,表示答案
示例1

输入

复制
1 1
-2 -1 -1 -2
1 2 2 1

输出

复制
1