[USACO1.4] 等差数列 Arithmetic Progressions

题目描述

一个等差数列是一个能表示成 $a, a+b, a+2b, \dots ,a+nb\space (n \in \mathbb N)$ 的数列。 在这个问题中 $a$ 是一个非负的整数,$b$ 是正整数。 写一个程序来找出在双平方数集合: $$\{ x | x = p^2 + q^2 \wedge p,q \in \mathbb N \cap [0,m]\}$$ 中长度为 $n$ 的等差数列。

输入输出格式

输入格式


第一行一个正整数 $n$,表示要找的数列长度。 第二行一个非负整数 $m$,表示 $p,q$ 的上界。

输出格式


如果没有找到数列,输出 `NONE`。 如果找到了,输出一行或多行,每行由二个整数组成:$a,b$。 这些行应该以 $b$ 为第一关键字,$a$ 为第二关键字升序排序。 所求的等差数列将不会多于10,000个。

输入输出样例

输入样例 #1

5
7

输出样例 #1

1 4
37 4
2 8
29 8
1 12
5 12
13 12
17 12
5 20
2 24

说明

【数据范围】 对于 $100\%$ 的数据,$3 \le n \le 25$,$0 \le m \le 250$。 题目翻译来自NOCOW。 USACO Training Section 1.4