#define M 30100
T[M],t[M];main(i,j,k,L,r){
for(i=2;i<M;i++)if(!T[i])for(j=i*2;j<M;j+=i)T[j]=1;
for(i=2,j=0;i<M;i++)if(!T[i])t[j++]=i;
for(;scanf("%d",&L),L;printf("%d\n",r))for(r=i=0;t[i]<L;i++)for(j=i;(k=L-t[i]-t[j])>=t[j];j++)if(!T[k]&&t[j]-t[i]<k&&k<t[j]+t[i])r++;
exit(0);}