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} $ のみであるから、確かに条件を満たします。