#include<stdio.h>
#define u_llint unsigned long long int

u_llint euclid(u_llint m,u_llint n);

int main(void){
  u_llint l,i,j,c;
  while(scanf("%llu",&l)&&l!=0){
    c=0;
    for(i=1;i<=l;i++){
      if(l%i!=0) continue;
      for(j=i;j<=l;j++){
        if(l%j!=0) continue;
        c+=(i*j==l*euclid(i,j)) ? 1:0;
      }
    }
  printf("%llu\n",c);
  }
  return 0;
}

u_llint euclid(u_llint m,u_llint n){
  if(n==0) return m;
  return euclid(n,m%n);
}