#include <stdio.h>
#include <set>
#include <vector>
using namespace std;
const int N=1e4+10;
#define PB push_back
int main(){
    int n,a[N],mid;
    set<int> s;
    vector<int> v;
    while(true){
        scanf("%d",&n);
        if(n==0)return 0;
        s.clear();
        v.clear();
        for(int i=1;i<n;i++)s.insert((i*i)%n);
        mid=n>>1;
        for(int i=1;i<=mid;i++)a[i]=0;
        for(int i:s)v.PB(i);
        for(int i=0;i<v.size();i++)for(int j=0;j<v.size();j++)if(i!=j){
            if(v[j]-v[i]>mid)a[n-(v[j]-v[i])]++;
            else a[v[j]-v[i]]++;
        }
        for(int i=1;i<=mid;i++)printf("%d\n",a[i]*2);
    }
}
