1087: 四平方和

Memory Limit:128 MB Time Limit:6.000 S
Judge Style:Text Compare Creator:
Submit:43 Solved:14

Description

四平方和定理,又称为拉格朗日定理:

每个正整数都可以表示为至多 4个正整数的平方和。

如果把 0 包括进去,就正好可以表示为 4 个数的平方和。

比如:

5=0^2+0^2+1^2+2^2
7=1^2+1^2+1^2+2^2

对于一个给定的正整数,可能存在多种平方和的表示法。

要求你对 4 个数排序:

0≤a≤b≤c≤d

并对所有的可能表示法按 a,b,c,d 为联合主键升序排列,
最后输出所有的答案个数,以及第一个表示法。

Input

输入一个正整数 N。0<N<1,000,000

Output

输出两行
第一行,输出答案数量
输出4个非负整数,按从小到大排序,中间用空格分开。

Sample Input Copy

5

Sample Output Copy

1
0 0 1 2

Source/Category