#agc025d. [agc025_d]Choosing Points
[agc025_d]Choosing Points
题目描述
高桥在平面上进行了一项关于点集的研究。高桥认为,当一个点集 满足以下条件时, 是一个“好的集合”:
- 中任意两点之间的距离不是 。
- 中任意两点之间的距离不是 。
这里, 和 是高桥指定的正整数常数。
设 是平面上满足 的整数坐标点 的集合。
高桥证明了,对于任何选择的 和 ,都存在一种选择 中 个点的方式,使得选定的点构成一个好的集合。然而,他不知道具体如何选择这些点来形成一个好的集合。请找到一个大小为 的 的子集,使其构成一个好的集合。
约束条件
- 输入中的所有值都是整数。
输入格式
从标准输入读入数据,格式如下:
输出格式
按照以下格式输出满足条件的 个不同点:
:
这里, 表示第 个选择的点。必须满足 ,且它们必须是整数。选定的点可以按任意顺序打印。如果有多个可能的解决方案,则可以输出任意一种。
示例输入 1
2 1 2
示例输出 1
0 0
0 2
2 0
2 2
在这些点中,任意两点之间的距离要么是 ,要么是 ,因此满足条件。
示例输入 2
3 1 5
示例输出 2
0 0
0 2
0 4
1 1
1 3
1 5
2 0
2 2
2 4