#include <iostream>
#include <vector>
#include <cstring>
using namespace std;
int d[10001]={0};
int f[10001]={0};

int main(){
	int n;
	while(cin>>n,n){
		vector<int>V;
		memset(d,0,sizeof(d));
		memset(f,0,sizeof(f));
		
		for(int i=1;i<n;i++){
			int t=i*i%n;
			if(f[t]==0){
				f[t]=1;
				V.push_back(t);
			}
		}
		
		
		for(int i=0;i<V.size();i++){
			for(int j=i+1;j<V.size();j++){
				int t=V[i]-V[j];
				if(t<0)t+=n;
				if(t>(n-1)/2)t=n-t;
				d[t]+=2;
			}
		}
		
		for(int i=1;i<=(n-1)/2;i++){
			cout<<d[i]<<endl;
		}
	}
	
	return 0;
}
