#include using namespace std; #define ALL(x) x.begin(),x.end() #define rep(i,n) for(int i=0;i<(n);i++) #define debug(v) cout<<#v<<":";for(auto x:v){cout<bool chmax(T &a,const T &b){if(abool chmin(T &a,const T &b){if(b par; vector siz; int c;//親の個数(グループ数) void init(int n){ c=n; for(int i=0;i>l>>r; UnionFind uf(r+1); for(int i=l;i<=r;i++){ for(int j=1;j*j<=i;j++){ if(i%j) continue; if(l<=j and j<=r) uf.unite(i,j); if(l<=i/j and i/j<=r) uf.unite(i,i/j); } } int ans=0; for(int i=l;i<=r;i++)if(uf.root(i)==i)ans++; ans--; cout<