6815 - 1.4.3 Arithmetic Progressions 等差数列

一个等差数列是一个能表示成 a, a+b, a+2b,..., a+nb (n=0,1,2,3,...) 在这个问题中 a 是一个非负的整数,b 是正整数.

写一个程序来找出在双平方数集合 S中长度为 n的等差数列. 双平方数集合是所有能表示成 p2+q2的数的集合.

输入

第一行: N(3<= N<=25),要找的等差数列的长度.

第二行: M(1<= M<=250),搜索双平方数的上界0 <= p,q <= M.

输出

如果没有找到数列,输出`NONE'.

如果找到了,输出一行或多行, 每行由于二个整数组成:a,b 这些行应该先按 b 排序再按 a 排序.

将不会有只多于 10,000个等差数列.

样例

输入

5
7

输出

1 4
37 4
2 8
29 8
1 12
5 12

13 12
17 12
5 20
2 24

提示

PROGRAM NAME: ariprog

来源

USACO

时间限制 1 秒
内存限制 128 MB
讨论 统计
上一题 下一题