#agc025d. [agc025_d]Choosing Points

[agc025_d]Choosing Points

Problem Statement

Takahashi is doing a research on sets of points in a plane. Takahashi thinks a set SS of points in a coordinate plane is a good set when SS satisfies both of the following conditions:

  • The distance between any two points in SS is not sqrtD1\\sqrt{D_1}.
  • The distance between any two points in SS is not sqrtD2\\sqrt{D_2}.

Here, D1D_1 and D2D_2 are positive integer constants that Takahashi specified.

Let XX be a set of points (i,j)(i,j) on a coordinate plane where ii and jj are integers and satisfy 0i,j<2N0 ≤ i,j < 2N.

Takahashi has proved that, for any choice of D1D_1 and D2D_2, there exists a way to choose N2N^2 points from XX so that the chosen points form a good set. However, he does not know the specific way to choose such points to form a good set. Find a subset of XX whose size is N2N^2 that forms a good set.

Constraints

  • 1N3001 ≤ N ≤ 300
  • 1D12×1051 ≤ D_1 ≤ 2×10^5
  • 1D22×1051 ≤ D_2 ≤ 2×10^5
  • All values in the input are integers.

Input

Input is given from Standard Input in the following format:

NN D1D_1 D2D_2

Output

Print N2N^2 distinct points that satisfy the condition in the following format:

x1x_1 y1y_1 x2x_2 y2y_2 : xN2x_{N^2} yN2y_{N^2}

Here, (xi,yi)(x_i,y_i) represents the ii-th chosen point. 0xi,yi<2N0 ≤ x_i,y_i < 2N must hold, and they must be integers. The chosen points may be printed in any order. In case there are multiple possible solutions, you can output any.


Sample Input 1

2 1 2

Sample Output 1

0 0
0 2
2 0
2 2

Among these points, the distance between 22 points is either 22 or 2sqrt22\\sqrt{2}, thus it satisfies the condition.


Sample Input 2

3 1 5

Sample Output 2

0 0
0 2
0 4
1 1
1 3
1 5
2 0
2 2
2 4