#include<iostream>
#include<vector>
#include<set>
#include<algorithm>

using namespace std;

int num(int x, int& n){
  if(x < 0) x += n;
  if(x > (n-1)/2) return n-x;
  return x;
}

int main(){
  int n;
  while(1){
    cin >> n;
    if(!n) break;
    set<int> x;
    for(int i=1; i<n; ++i) x.insert((i*i)%n);
    vector<int> ans((n-1)/2+1, 0);
    for(set<int>::iterator it=x.begin(); it!=x.end(); ++it){
      for(set<int>::iterator jt=it; jt!=x.end(); ++jt){
	if(jt == it) continue;
	++ans[num(*it-*jt, n)];
	++ans[num(*jt-*it, n)];
      }
    }
    for(int i=1; i<ans.size(); ++i) cout << ans[i] << endl;
  }
  return 0;
}