#include <iostream>
#include <cstdio>
#include <map>
using namespace std;
typedef long long int ll;
int main(){
  ll n;
  while(cin >> n,n){
    map<ll,ll>mp,ans;
    for(int i = 1 ; i*2 < n ; i++ ){
      mp[(i*i)%n] = 1;
    }

    map<ll,ll>::iterator a =  mp.begin(),b;
    for(; a != mp.end() ; a++ ){
      for(b = a; b != mp.end() ; b++ ){
	if(*b == *a)continue;
	if(((*b).first - (*a).first) > (n-1)/2 ){
	  ans[n - (*b).first + (*a).first]+=2;
	} else {
	  ans[(*b).first - (*a).first]+=2;
	}
      }
    }
    map<ll,ll>::iterator it =  ans.begin();
        for(; it != ans.end() ; it++)cout << (*it).second << endl;
  }
  return 0;
}