#include <bits/stdc++.h>
using namespace std;
int main() {
  long long int n;
  cin >> n;
  if (n % 3 != 0) {
    puts("0");
    return 0;
  }
  n /= 3;
  vector<long long int> d;
  for (long long int x = 1; x * x <= n; x++)
    if (n % x == 0) {
      d.push_back(x);
      d.push_back(n / x);
    }
  sort(d.begin(), d.end());
  d.resize(unique(d.begin(), d.end()) - d.begin());
  int cnt = d.size();
  int ans = 0;
  for (int i = 0; i < cnt; i++) {
    for (int j = i; j < cnt; j++) {
      long long int z = n / d[i];
      if (z % d[j] != 0) continue;
      z /= d[j];
      long long int x = d[i], y = d[j];
      if (y > z) continue;
      if (x - y + z >= 0 && (x - y + z) % 2 == 0) {
        long long int b = (x - y + z) / 2;
        long long int a = x - b;
        long long int c = y - a;
        if (a > 0 && b > 0 && c > 0) {
          if (a == b && b == c)
            ans++;
          else if (a == b)
            ans += 3;
          else if (b == c)
            ans += 3;
          else
            ans += 6;
        }
      }
    }
  }
  cout << ans << endl;
  return 0;
}
