#include <vector>
#include <cstring>
#include <iostream>
using namespace std;
int n, a[10000]; bool p[10000];
int main() {
	while(scanf("%d", &n), n) {
		vector<int> v;
		memset(a, 0, sizeof(a));
		memset(p, 0, sizeof(p));
		for(int i = 1; i < n; i++) p[i * i % n] = true;
		for(int i = 0; i < n; i++) {
			if(p[i]) v.push_back(i);
		}
		for(int i = 0; i < v.size(); i++) {
			for(int j = i + 1; j < v.size(); j++) {
				int r = v[j] - v[i];
				if(r < 0) r += n;
				if(r > n / 2) r = n - r;
				a[r - 1]++;
			}
		}
		for(int i = 0; i < n / 2; i++) printf("%d\n", a[i] * 2);
	}
}