#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define popcount __builtin_popcount using namespace std; typedef long long int ll; typedef pair P; struct unionfind{ int cnt; vector par, sz; unionfind() {} unionfind(int n):par(n), sz(n, 1), cnt(n){ for(int i=0; isz[y]) swap(x, y); par[x]=y; sz[y]+=sz[x]; } bool same(int x, int y){ return find(x)==find(y); } int size(int x){ return sz[find(x)]; } }; int main() { int l, r; cin>>l>>r; unionfind uf(r-l+1); for(int d=l; d<=r; d++){ for(int i=d; i<=r; i+=d){ uf.unite(d-l, i-l); } } cout<