#include using namespace std; using ll=long long; #define all(v) v.begin(),v.end() #define rall(v) v.rbegin(),v.rend() template bool chmax(T &a, T b){if (a < b){a = b;return true;} else return false;} template bool chmin(T &a, T b){if (a > b){a = b;return true;} else return false;} #include const int MAX=1'000'000; void Solve(){ vectorV(MAX+1); for(int i=MAX;i>=1;i--){ for(int j=2*i;j<=MAX;j+=i){ if(V[j]==0){ V[j]=i; } } } vector>W(MAX+1); for(int i=1;i<=MAX;i++)W[V[i]].push_back(i); int Q; cin>>Q; vectorL(Q),R(Q); for(int i=0;i>L[i]>>R[i]; } vector>T(MAX+1); for(int i=0;ifw(MAX+1); vectorans(Q); for(int i=0;i<=MAX;i++){ for(auto q:T[i]){ ans[q]=fw.sum(L[q],R[q]+1); } for(auto j:W[i])fw.add(j,1); } for(int i=0;i