题目描述
在三维空间中有一个长方体盒子,其一角在原点 (0,0,0),对角点在 (a,b,c),其中 a,b,c 分别表示长、宽和高。
因此长方体的所有点都满足0≤x≤a,0≤y≤b,0≤z≤c
在这个长方体的表面上分布着 n 条线段。
对于第 i 条线段,给出它的两个端点坐标 (x1,y1,z1) 与 (x2,y2,z2),并保证这两个端点都在长方体的表面上(即至少有一个坐标为 0 或对应的上界 a,b,c)。
现在,我们可以选择一个平面,并让这个平面与坐标轴 x、y 或 z 之一垂直。形式上,这个平面可以是以下三种形式之一:
- x=t,其中 0≤t≤a;
- y=t,其中 0≤t≤b;
- z=t,其中 0≤t≤c。
如果一条线段与这个平面有公共点(也就是线段上存在某一点同时在这个平面上),我们就认为这条线段与平面相交一次。
你的任务是:在所有可能的这类平面中,最多能同时与多少条线段相交?
输入格式
第一行包含四个整数 n,a,b,c(1≤n≤105,1≤a,b,c≤109):
- n 表示线段的条数;
- a,b,c 表示长方体的长、宽和高。
接下来 n 行,每行包含六个整数 x1,y1,z1,x2,y2,z2(0≤x1,x2≤a,0≤y1,y2≤b,0≤z1,z2≤c),
表示一条线段两个端点的坐标 (x1,y1,z1) 与 (x2,y2,z2)。保证所有端点都在长方体的表面上。
输出格式
输出一个整数,表示在所有与坐标轴 x、y 或 z 垂直的平面中,最多能同时与多少条线段相交。
示例
输入
3 2 2 2
0 0 0 2 2 2
0 2 0 2 0 2
0 0 2 2 2 0
输出
3
在该样例中,可以选择平面 x=1,此时这三条线段都与该平面相交,所以答案为 3。