#include using namespace std; #include const int mx = 1000000; int main() { vector xp(mx+1); vector bc(mx+1, vector(0)); vector bc_q(mx+1, vector>(0)); for (int i=1; i<=mx; i++) { for (int j=2*i; j<=mx; j+=i) { xp[j] = i; } } for (int i=1; i<=mx; i++) { bc[xp[i]].push_back(i); } int q; cin >> q; for (int i=0; i> l >> r; bc_q[l].push_back(pair(r, i)); } vector ans(q); atcoder::fenwick_tree fw(mx+1); for (int i=0; i<=mx; i++) { for (auto [r,c]: bc_q[i]) { ans[c] = fw.sum(i, r+1); } for (int j: bc[i]) { fw.add(j, +1); } } for (int i=0; i