import java.util.*;
import java.lang.*;
import java.io.*;
class Main {
public static int findGCD(int x, int y) {
if (y == 0)
return x;
return findGCD(y, x % y);
}
public static ArrayList<Integer> findGood(int[] blocks){
int n = blocks.length;
int j = 0;
int cnt = 0;
ArrayList<Integer> chains = new ArrayList<>();
while(j<n){
if(findGCD(blocks[j%n], blocks[(j+1)%n]) != 1){
cnt++;
}
else{
chains.add(cnt);
cnt = 0;
}
j++;
}
chains.add(cnt);
return chains;
}
Scanner sc
= new Scanner
(System.
in); int n = sc.nextInt();
int[] blocks = new int[n];
int[] res = new int[n+1];
int ins = 0;
for(int i=0;i<n;i++){
blocks[i] = sc.nextInt();
}
ArrayList<Integer> chains = findGood(blocks);
for(int k=2;k<=n;k++){
ins = 0;
for(int chain: chains){
ins += (chain/(k-1));
}
res[k] = ins;
}
for(int k=2;k<=n;k++){
System.
out.
print(res
[k
] + " "); }
}
}
aW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgpjbGFzcyBNYWluIHsKCXB1YmxpYyBzdGF0aWMgaW50IGZpbmRHQ0QoaW50IHgsIGludCB5KSB7CgkgICAgaWYgKHkgPT0gMCkKCSAgICAgICAgcmV0dXJuIHg7CgkgICAgcmV0dXJuIGZpbmRHQ0QoeSwgeCAlIHkpOwoJfQoJCglwdWJsaWMgc3RhdGljIEFycmF5TGlzdDxJbnRlZ2VyPiBmaW5kR29vZChpbnRbXSBibG9ja3MpewoJCWludCBuID0gYmxvY2tzLmxlbmd0aDsKCQlpbnQgaiA9IDA7CgkJaW50IGNudCA9IDA7CgkJQXJyYXlMaXN0PEludGVnZXI+IGNoYWlucyA9IG5ldyBBcnJheUxpc3Q8PigpOwoJCXdoaWxlKGo8bil7CgkJCWlmKGZpbmRHQ0QoYmxvY2tzW2olbl0sIGJsb2Nrc1soaisxKSVuXSkgIT0gMSl7CgkJCQljbnQrKzsKCQkJfQoJCQllbHNlewoJCQkJY2hhaW5zLmFkZChjbnQpOwoJCQkJY250ID0gMDsKCQkJfQoJCQlqKys7CgkJfQoJCQoJCWNoYWlucy5hZGQoY250KTsKCQkKCQlyZXR1cm4gY2hhaW5zOwoJfQoJCglwdWJsaWMgc3RhdGljIHZvaWQgbWFpbiAoU3RyaW5nW10gYXJncykgdGhyb3dzIGphdmEubGFuZy5FeGNlcHRpb24gewoJCVNjYW5uZXIgc2MgPSBuZXcgU2Nhbm5lcihTeXN0ZW0uaW4pOwoJCWludCBuID0gc2MubmV4dEludCgpOwoJCWludFtdIGJsb2NrcyA9IG5ldyBpbnRbbl07CgkJaW50W10gcmVzID0gbmV3IGludFtuKzFdOwoJCWludCBpbnMgPSAwOwoJCWZvcihpbnQgaT0wO2k8bjtpKyspewoJCQlibG9ja3NbaV0gPSBzYy5uZXh0SW50KCk7CgkJfQoJCQoJCUFycmF5TGlzdDxJbnRlZ2VyPiBjaGFpbnMgPSBmaW5kR29vZChibG9ja3MpOwoJCQoJCWZvcihpbnQgaz0yO2s8PW47aysrKXsKCQkJaW5zID0gMDsKCQkJZm9yKGludCBjaGFpbjogY2hhaW5zKXsKCQkJCWlucyArPSAoY2hhaW4vKGstMSkpOwoJCQl9CgkJCXJlc1trXSA9IGluczsKCQl9CgkJCgkJZm9yKGludCBrPTI7azw9bjtrKyspewoJCQlTeXN0ZW0ub3V0LnByaW50KHJlc1trXSArICIgIik7CgkJfQoJfQp9