#include <bits/stdc++.h>
using namespace std;
vector<long long> pr;
void fact(long long n) {
  for (long long i = 1; i * i <= n; i++)
    if (n % i == 0) pr.push_back(i);
}
int main() {
  long long n;
  int i, j;
  scanf("%I64d", &n);
  if (n % 3 != 0) {
    printf("0\n");
    return 0;
  }
  n /= 3;
  fact(n);
  long long ans = 0;
  for (i = 0; i < pr.size(); i++) {
    long long x = pr[i];
    long long d = n / pr[i];
    for (j = 0; j < pr.size(); j++) {
      if (d % pr[j] == 0) {
        long long y = pr[j];
        long long z = d / pr[j];
        long long s = x + y + z;
        if (s % 2 == 0 && s / 2 - x > 0 && s / 2 - y > 0 && s / 2 - z > 0)
          ans++;
      }
    }
  }
  printf("%I64d\n", ans);
  return 0;
}
