#include <bits/stdc++.h>
using namespace std;
const int INF = 0x3f3f3f3f;
const int M = 1005;
const int mod = 1e9 + 7;
const double eps = 1e-6;
const double Pi = 2 * acos(0.0);
inline int max(int a, int b) { return a > b ? a : b; }
inline int min(int a, int b) { return a < b ? a : b; }
inline int bit(int x) { return 1 << x; }
inline double dabs(double x) { return x > 0 ? x : (-x); }
inline int abs(int x) { return x > 0 ? x : (-x); }
inline int lowbit(int x) { return x & (-x); }
long long n, ans = 0, ma;
vector<long long> v;
int main() {
  ios::sync_with_stdio(0);
  cin >> n;
  if (n % 3 == 0) {
    n /= 3;
    for (long long i = 2; i * i <= n; i++) {
      if (n % i == 0) {
        v.push_back(i);
        ma = i;
      }
    }
    for (int i = 0; i < v.size(); i++) {
      long long x = v[i];
      for (int j = i; j < v.size(); j++) {
        if ((n / x) % v[j] == 0) {
          long long y = v[j], z = n / x / v[j];
          if (z < y) break;
          if ((x + y + z) % 2 == 0 && x + y > z) {
            if (x == y && y == z)
              ans++;
            else if (x != y && y != z && x != z)
              ans += 6;
            else
              ans += 3;
          }
        }
      }
    }
  }
  cout << ans;
  return 0;
}
