#P2042. Lagrange's Four-Square Theorem

Lagrange's Four-Square Theorem

本题没有可用的提交语言。

描述

任何正整数都可以表示为最多四个正平方数(即正整数的平方)的和,这被称为拉格朗日四平方定理。该定理的第一个证明由约瑟夫-路易·拉格朗日于1770年给出。然而,你的任务不是解释原始证明,也不是发现新的证明,而是通过计算特定数字的可能表示数量来证明该定理成立。

对于给定的正整数 nn,你应该报告 nn 作为最多四个正平方数之和的所有表示的数量。加法的顺序不重要,例如,你应该认为 42+324^2 + 3^232+423^2 + 4^2 是相同的表示。

例如,让我们检查25的情况。这个整数有三种表示:12+22+22+421^2 + 2^2 + 2^2 + 4^232+423^2 + 4^2525^2。因此,在这种情况下,你应该报告3。注意不要分别计算 42+324^2 + 3^232+423^2 + 4^2

输入

输入由最多255行组成,每行包含一个单一的正整数,小于 2152^{15},后面跟着一行包含一个单一的零。最后一行不是输入数据的一部分。

输出

输出应该由行组成,每行包含一个单一的整数。输出中不应出现其他任何字符。

与输入整数 nn 对应的输出整数是 nn 作为最多四个正平方数之和的所有表示的数量。

输入数据 1

1  
25  
2003  
211  
20007  
0

输出数据 1

1  
3  
48  
7  
738

来源

2003年日本,会津