#include #include using namespace std; using namespace atcoder; typedef modint998244353 mint; typedef long long ll; // defcomp template vector compress(vector &X) { vector vals = X; sort(vals.begin(), vals.end()); vals.erase(unique(vals.begin(), vals.end()), vals.end()); return vals; } // ----- int main(){ vector> ans; ll n; cin >> n; for (ll a=0; a<=n; a++){ if (a*a*3 > 2*n) break; for (ll b=a; b<=n; b++){ if (a + b == 0){ continue; } if (n - a*b < 0) break; if ((n - a*b) % (a+b) != 0) continue; ll c = (n - a*b)/(a+b); ans.push_back(tuple(a, b, c)); ans.push_back(tuple(a, b, c)); ans.push_back(tuple(b, a, c)); ans.push_back(tuple(b, c, a)); ans.push_back(tuple(c, a, b)); ans.push_back(tuple(c, b, a)); } } vector> ret = compress(ans); int m = ret.size(); cout << m << "\n"; for (int i=0; i