[题目通道](椰子 - 洛谷)
#include<bits/stdc++.h>
using namespace std;
int a[5000001],n;
bool f[5000001];
int main(){
f[1]=1;
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
if(i==1)continue;
int j=1;
int k=__gcd(a[i],a[i-j]);
if(k!=a[i]&&k!=a[i-j])f[k]=1;
while(j<3){
j++;
k=__gcd(k,a[i-j]);
if(k!=a[i-j])f[k]=1;
}
}
for(int i=1;i<=n;i++)cout<<((f[i])?n:n-1)<<' ';
}