#pragma GCC optimize("O3") #pragma GCC optimize("Ofast") #pragma GCC optimize("unroll-loops") #pragma GCC target("avx,avx2") #include #define INF 1000000001LL #define LNF 1000000000000000001LL #define MOD 1000000007LL #define MAX 502 #define long long long #define all(x) x.begin(),x.end() using namespace std; class UnionFind { public: vector parent; vector cnt; void init(int size) { parent.resize(size); cnt.resize(size); for(int i = 0; i> l >> r; UnionFind uf; uf.init(r+1); for(int i= l; i<=r; i++) { for(int j = i+i; j<=r; j+=i) uf.merge(i,j); } int res = 0; for(int i= l; i<=r; i++) { if(uf.find(i) == i) res++; } cout << res-1 << endl; return 0; }