AT_abc135_e [ABC135E] Golf
Description
[problemUrl]: https://atcoder.jp/contests/abc135/tasks/abc135_e
無限に広がる二次元格子があります。ジャンボ高橋君はこの上でゴルフをすることにしました。
ボールははじめ原点 $ (0,\ 0) $ にあり、ゴールは格子点(座標がいずれも整数である点) $ (X,\ Y) $ です。ジャンボ高橋君は $ 1 $ 打ごとに、次の操作を行えます。
- その時点でボールがある点とのマンハッタン距離が $ K $ であるような格子点を $ 1 $ つ選び、その点にボールを飛ばす。
ゴールと同じ座標にボールが来た時点でクリアとなり、それまでの打数がスコアとなります。ジャンボ高橋君はできるだけ少ないスコアでクリアしたいと思っています。
クリアが可能かどうか判定し、可能ならばスコアが最小となるボールの動かし方を $ 1 $ つ求めてください。
マンハッタン距離の説明$ 2 $ つの座標 $ (x_1,\ y_1),\ (x_2,\ y_2) $ に対するマンハッタン距離は、$ |x_1-x_2|+|y_1-y_2| $ と定義されます。
Input Format
入力は以下の形式で標準入力から与えられます。
> $ K $ $ X $ $ Y $
Output Format
クリアが不可能な場合は `-1` と出力してください。
クリアが可能な場合、スコアが最小となるボールの動かし方を次のように出力してください。
> $ s $ $ x_1 $ $ y_1 $ $ x_2 $ $ y_2 $ $ . $ $ . $ $ . $ $ x_s $ $ y_s $
ここで、$ s $ はスコアの最小値です。また、$ (x_i,\ y_i) $ を $ i $ 打目にボールを飛ばす先の座標とします。
Explanation/Hint
### 制約
- 入力はすべて整数
- $ 1\ \leq\ K\ \leq\ 10^9 $
- $ -10^5\ \leq\ X,\ Y\ \leq\ 10^5 $
- $ (X,\ Y)\ \neq\ (0,\ 0) $
### Sample Explanation 1
\- $ (0,\ 0),\ (7,\ 4) $ のマンハッタン距離は $ |0-7|+|0-4|=11 $。 - $ (7,\ 4),\ (2,\ 10) $ のマンハッタン距離は $ |7-2|+|4-10|=11 $。 - $ (2,\ 10),\ (-1,\ 2) $ のマンハッタン距離は $ |2-(-1)|+|10-2|=11 $。 以上より、このボールの動かし方は正しいです。 また、$ 3 $ 打より少なくクリアする方法は存在しません。