atcoder#CODEFESTIVAL2017QUALCE. Cubes
Cubes
题目描述
一辺の長さが の立方体の形をしたブロックを 個積み上げて の直方体を作りました。 さらに、この直方体を以下の条件を満たすように 空間内に配置しました。
- すべての ($ 0\ \leq\ i\ <\ A,\ 0\ \leq\ j\ <\ B,\ 0\ \leq\ k\ <\ C $) に対して、 点 と点 を結ぶ線分を対角線として持ち、すべての辺が座標軸と平行なブロックが存在する。
各 に対して、上のようなブロックをブロック と呼ぶことにします。
つのブロック と に対して、これらの距離を max と定義します。
いま、点 と点 を結ぶ線分に沿って、直方体に十分細い針金を通しました。 このとき、以下の条件を満たすブロック の個数を で割った余りを求めてください。
- ある針金が通っている(境界で接する場合は除く)ブロック が存在して、ブロック とブロック の距離は 以下である。
输入格式
入力は以下の形式で標準入力から与えられる。
输出格式
条件を満たすブロックの個数を で割った余りを出力せよ。
3 4 5 1
54
1 2 3 0
4
3 5 7 100
105
3 123456781 1000000000 100
444124403
1234 12345 1234567 5
150673016
999999997 999999999 1000000000 50000
8402143
提示
制約
- はどの つも互いに素
Sample Explanation 1
以下の図は、直方体を 平面に平行な平面で 段に分けて描いたものです。 ただし、 の範囲に含まれるブロックを 段目と呼んでいます。 黒く塗ったブロックは針金が通っているブロックであり、これらはすべて条件を満たします。 また、黄色く塗ったブロックはそれら以外で条件を満たすブロックです。 ![b3a8ffcd8621b59d4657bfaa9c25a716.png](https://img.atcoder.jp/code-festival-2017-qualc/b3a8ffcd8621b59d4657bfaa9c25a716.png) 黒または黄色に塗られたブロックは全部で 個存在します。
Sample Explanation 2
針金が通っているブロックは 個あり、これらだけが条件を満たします。
Sample Explanation 3
すべてのブロックが条件を満たします。