#170. 四平方和

四平方和

四平方和定理,又称为拉格朗日定理:每个正整数都可以表示为至多 44 个正整数的平方和。如果把 00 包括进去,就正好可以表示为 44 个数的平方和。

比如:

5=02+02+12+225=0^2+0^2+1^2+2^2

7=12+12+12+227=1^2+1^2+1^2+2^2

则对于一个给定的正整数 nn,可以表示为:n=a2+b2+c2+d2n=a^2+b^ 2+c^2+d^2

你需要求出字典序最小的一组解 a,b,c,d。

字典序大小:从左到右依次比较,如果相同则比较下一项,直到有一项不同,较小的一方字典序更小,反之字典序更大,所有项均相同则二者字典序相同。

输入格式

程序输入为一个正整数 N(1N5000000)N(1≤N≤5000000)

输出格式

输出 44 个非负整数 a,b,c,da,b,c,d,中间用空格分开。

输出时每行末尾的多余空格,不影响答案正确性

要求使用「文件输入输出」的方式解题,输入文件为 square.in,输出文件为 square.out

样例输入1

5

样例输出1

0 0 1 2

样例输入2

12

样例输出2

0 2 2 2