#codefestival2017qualce. [code_festival_2017_qualc_e]Cubes
[code_festival_2017_qualc_e]Cubes
题目描述
我们构造了一个边长为 的长方体,由 个边长为 的立方体块组成。然后,我们按照以下方式将长方体放置在三维坐标空间中:
- 对于每个三元组 (),存在一个块,其对角线连接了点 和 。块的所有边都平行于坐标轴。
对于每个三元组 ,我们将上述的块称为块 。
对于两个块 和 ,我们定义它们之间的距离为 max。
我们通过一个在点 和 之间连线的线段上穿过了一根可以忽略厚度的导线。有多少个块 满足以下条件?将计数结果对 取模。
- 存在一个块 ,使得导线穿过了块 的内部(而不仅仅是边界),并且块 和 之间的距离至多为 。
约束条件
- 三个整数 和 中的任意两个互质。
输入
输入从标准输入中按以下格式给出:
输出
输出满足条件的块的数量,对 取模。
示例输入1
3 4 5 1
示例输出1
54
下图展示了长方体被平行于 平面的五个平面分割成的五个层。其中,位于区域 的层称为第 层。
被涂黑的块被导线穿过,并且满足条件。满足条件的其他块被涂成黄色。
总共有 个块被涂成黑色或者黄色。
示例输入2
1 2 3 0
示例输出2
4
有四个块被导线穿过,并且只有这些块满足条件。
示例输入3
3 5 7 100
示例输出3
105
所有块都满足条件。
示例输入4
3 123456781 1000000000 100
示例输出4
444124403
示例输入5
1234 12345 1234567 5
示例输出5
150673016
示例输入6
999999997 999999999 1000000000 50000
示例输出6
8402143