#include <iostream>
#include <cmath>
#include <vector>
#include <cstring>
using namespace std;
typedef pair<int,int> P;

int n;

int main(){
  while(cin >> n ,n){
    int ans[(n-1)/2];
    memset(ans,0,sizeof(ans));
    vector<int> v;
    vector<int> nv;
    int nn = n;

    for(int i = 1 ; i < nn ; i++){      
      v.push_back(i*i%n);
    }
    sort(v.begin(),v.end());
    for(int i = 1 ; i < nn ; i++){ 
      if(v[i] != v[i-1]){ 
	nv.push_back(v[i-1]);
      }       
    }
   
    for(int i = 0 ; i < nv.size(); i++){
      for(int j = 0 ; j < nv.size() ; j++){
	if(i == j) continue;

	int res = nv[i]-nv[j];
	if(res < 0){
	  res += nn;
	}
	if(res > (nn-1)/2){
	  res = nn - res;
	}
	ans[res-1]++;
      }
    }

    int i;
    for(i = 0 ; i < (n-1)/2 ; i++){
      cout << ans[i] << endl;
    }
  }

  return 0;
}