#include using namespace std; #include struct UF{ int n; vectorparent,rank; UF(int n_=0):n(n_),parent(n_),rank(n_,1) { for(int i=0;i>N>>P; UF uf(N+1); for(int i=2;i<=N;i++) { for(int j=i;j+i<=N;j+=i)uf.unite(j,j+i); } cout<