function prime(max){
   var arr=[];
   for(var i=0;i<=max;i++)arr[i]=i;
   arr[0]=false;
   arr[1]=false;
   var sqrt=Math.floor(Math.sqrt(max));
   for(var i=2;i<=sqrt;i++){
      if(arr[i]==false)continue;
         for(var j=i+i;j<=max;j+=i){
            arr[j]=false;
         }
   }
   var result=[];
   for(var i=0;i<=max;i++){
      if(arr[i]!==false)result.push(arr[i]);
   }
   return result;
}
var p=prime(30000);
var P={};
p.forEach(function(v){P[v]=true;});
var input = require('fs').readFileSync('/dev/stdin', 'utf8');
var arr=input.trim().split("\n").map(Number);
arr.some(function(v){
   if(v==0)return true;
   var ans={};
   for(var i=0;i<p.length;i++){
      var a=p[i];
      if(a>=v)break;
      for(var j=0;j<p.length;j++){
         var b=p[j];
         if(b>=v)break;
         var c=v-(a+b);
         if(P.hasOwnProperty(c)==false)continue;
         if(a<b+c && b<a+c && c<a+b){
            var abc=[a,b,c];
            abc.sort(function(a,b){return a-b;});
            ans[abc.join(",")]=true;
         }
      }
   }
   console.log(Object.keys(ans).length);
});