#include<bits/stdc++.h> usingnamespace std; #define int long long /* 其实是判断 l -> r中不是 2,3,5,7倍数的数字个数 1 - r 2 + 3 + 5 + 7 - (2,3) - (2, 5) - (2 ,7) */ int dx[8] = {2,3,5,7,30,42,70,105}; // + int dy[7] = {6,10,14,15,21,35,210}; // -
voidslove(){ int l, r; cin >> l >> r; auto sum = [&](int en) -> int{ if(en == 2) return0; int ans = 0; for(int i = 0; i < 8; i++){ ans += (en / dx[i]); } for(int i = 0; i < 7; i++){ ans -= (en / dy[i]); } return ans; }; int ans = r - l + 1, last = sum(r) - sum(l); cout << ans - last << endl; } signedmain(){ int t; cin >> t; while(t--){ slove(); }