#include<iostream>
using namespace std;
int n,x,y;
int isP[1000000];
int t[10000],u[10000],ans[10000];
void Prime(){
  for(int i=0;i<1000001;i++)isP[i]=1;
  isP[0]=isP[1]=0;
  for(int i=2;i*i<1000001;i++){
    if(isP[i])for(int j=i*i;j<1000001;j++)isP[j]=0;
  }
}
void init(){
  for(int i=0;i<10000;i++)ans[i]=t[i]=0;
}
int main(){
  Prime();
  while(cin>>n&&n){
    init();
    for(int i=0;i<n-1;i++){
      t[((n-i-1)*(n-i-1))%n]=1;
    }
    x=0;
    for(int i=0;i<10001;i++){
      if(t[i])u[x++]=i;
    }
    for(int i=0;i<x;i++){
      for(int j=0;j<x;j++){
	if(i==j)continue;
	y=u[i]-u[j];
	if(y<0)y+=n;
	if(y>((n-1)/2))y=n-y;
	ans[y]++;
      }
    }
    for(int i=1;i<=(n-1)/2;i++){
      cout<<ans[i]<<endl;
    }
  }
  return 0;
}