#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define num 32768

int square(int sum, int d, int c);

int *dp;
int n;

int main(){
  int N;
  dp = (int *)malloc(num*sizeof(int));
  for(n=0;n<num;n++){
    dp[n] = square(0,1,0);
  }

  while(scanf("%d",&N),N){
    printf("%d\n",dp[N] );
  }

  free(dp);
  exit(0);
}

int square(int sum, int d, int c){
  for(int i=1,sum=0;sum+i*i<num;i++){
    if(sum == n) return 1;
    if(c >= 4) return 0;
    int res = 0;
    for(int i = d; i*i <= n; i++){
      if(sum + i*i > n) break;
      res += square(sum + i*i, i, c+1);
    }
    return res;
  }
}

