CF293C Cube Problem

题目描述

Yaroslav、Andrey 和 Roman 都喜欢玩立方体积木。有时候他们会聚在一起,一玩就是好几个小时! 今天他们又聚在一起玩立方体。Yaroslav 用单位立方体搭了一个 $a \times a \times a$ 的立方体,Andrey 做了一个 $b \times b \times b$ 的立方体,Roman 做了一个 $c \times c \times c$ 的立方体。游戏结束后,他们离开了。但是后来,Vitaly 进入了房间。他看到了这些立方体,也想搭一个立方体。他想搭一个边长为 $a+b+c$ 的大立方体。当然,他决定拆开 Yaroslav、Andrey 和 Roman 搭好的小立方体,用这些单位立方体去拼出自己的大立方体。然而,他发现这些从三人立方体中拆下来的单位立方体数量不足以搭建这个大立方体。已知 Vitaly 正好还差 $n$ 个单位立方体。Vitaly 很失望,于是把一切拆得一团糟就离开了。在他离开的路上,他遇到了 Petya,并告诉 Petya 房间里曾经有三个立方体,而且他还差 $n$ 个单位立方体才能拼好大立方体。 Petya 走进房间,看到四处散落的积木。他想把房间整理得干净有序。但他只知道:原来有三个立方体,都是由单位立方体组成的,并且 Vitaly 还差 $n$ 个单位立方体才能拼好大立方体。请你帮助 Petya,计算出原来有多少种不同的整数三元组 $(a,b,c)$($a$、$b$、$c$ 均为正整数),可以还原出 Yaroslav、Andrey 和 Roman 原来的三个立方体。

输入格式

输入包含一行,包含一个整数 $n$($1 \leq n \leq 10^{14}$)。已知 $a$、$b$、$c$ 均为正整数。 请不要在 C++ 代码中使用 %lld 格式符来读写 64 位整数。建议使用 cin、cout 流或者 %I64d 格式符。

输出格式

输出一个整数,表示满足题意的 $(a,b,c)$ 三元组的方案数。如果没有方案,输出 0。

说明/提示

无。 由 ChatGPT 5 翻译