for(inti(1);i <= n;++i) cin >> a[i],mx = std::max(mx,a[i]),change(i,a[i]),cnt[a[i]].push_back(i);
//G[i]:ALL Number that can be divided by ifor (int i = 2; i <= mx; ++i) {
for (int j = i; j <= mx; j += i)
for (auto it : cnt[j])//所有i的倍数j的位置
G[i].push_back(it) ;
}