AT_agc025_d [AGC025D] Choosing Points
Description
[problemUrl]: https://atcoder.jp/contests/agc025/tasks/agc025_d
高橋君は平面上の点集合について研究しています。 高橋君にとって、座標平面上の点の集合 $ S $ が *いい集合* であるとは、$ S $ が以下の条件をともに満たすことを指します。
- $ S $ に属するどの $ 2 $ 点間の距離も $ \sqrt{D_1} $ でない。
- $ S $ に属するどの $ 2 $ 点間の距離も $ \sqrt{D_2} $ でない。
ただし、$ D_1,D_2 $ は高橋君の定めた正整数の定数です。
ここで、$ X $ を座標平面上の格子点 $ (i,j) $ であって $ 0\ ≦\ i,j\
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ D_1 $ $ D_2 $
Output Format
条件を満たすように選んだ相異なる $ N^2 $ 個の点を以下の形式で出力せよ。
> $ x_1 $ $ y_1 $ $ x_2 $ $ y_2 $ : $ x_{N^2} $ $ y_{N^2} $
ただし、$ (x_i,y_i) $ は選んだ点の $ i $ 番目の点を表し、$ x_i,y_i $ は整数かつ $ 0\ ≦\ x_i,y_i\
Explanation/Hint
### 制約
- $ 1\ ≦\ N\ ≦\ 300 $
- $ 1\ ≦\ D_1\ ≦\ 2×10^5 $
- $ 1\ ≦\ D_2\ ≦\ 2×10^5 $
- 入力される値は全て整数である
### Sample Explanation 1
この場合 $ 2 $ 点間の距離としてありうる値は $ 2 $ と $ 2\sqrt{2} $ のみであるから、確かに条件を満たします。