#include #include using namespace std; int main(){ ios::sync_with_stdio(false); cin.tie(0); int Q; cin >> Q; vector> query(Q); for(int i = 0; i < Q; i++){ auto &&[l, r, idx] = query[i]; cin >> l >> r; idx = i; } sort(query.rbegin(), query.rend()); constexpr int mx = 1000000; vector tb(mx + 1); atcoder::fenwick_tree fw(mx + 1); vector ans(Q); int cur = mx; for(auto [l, r, idx] : query){ while(cur >= l){ fw.add(cur, 1); tb[cur] = true; for(int j = 2 * cur; j <= mx; j += cur){ if(!tb[j]) continue; tb[j] = false; fw.add(j, -1); } cur--; } ans[idx] = fw.sum(l, r + 1); } for(auto &&v : ans) cout << v << '\n'; }