#include <iostream>
using namespace std;

int DP[4][32768];

int main(){
    for(int n=1;n*n<32768;n++){
        int N=n*n;
        DP[0][N]++;
        for(int i=1;i<4;i++){
            for(int j=N;j<32768;j++) DP[i][j]+=DP[i-1][j-N];
        }
    }
    int n;
    while(cin>>n,n){
        cout<<DP[0][n]+DP[1][n]+DP[2][n]+DP[3][n]<<endl;
    }
    return 0;
}