#include<bits/stdc++.h>typedeflonglong ll;const ll mod =9999999967;usingnamespace std;namespace fastIO {inlinevoidinput(int& res){char c =getchar();res =0;int f =1;while(!isdigit(c)){ f ^= c =='-'; c =getchar();}while(isdigit(c)){ res =(res <<3)+(res <<1)+(c ^48);c =getchar();}
res = f ? res :-res;}inline ll qpow(ll a, ll b){
ll ans =1, base = a;while(b){if(b &1) ans =(ans * base % mod +mod )%mod;
base =(base * base % mod + mod)%mod;
b >>=1;}return ans;}}usingnamespace fastIO;constint N =1e6+5;int Case,n,m;int vis1[22*N],vis2[N],ans[N];intmain(){//init();
Case=1;input(Case);while(Case--){input(n),input(m);memset(vis1,0,sizeof(vis1));memset(vis2,0,sizeof(vis2));memset(ans,0,sizeof(ans));
ll sum;for(int i=1;i<=20;i++){for(int j=2;j<=m;j++){if(!vis1[i*j]){
ans[i]++;
vis1[i*j]=1;}}}//for(int i=1;i<=20;i++) cout<<ans[i]<<' ';cout<<"\n";
sum =0;for(int i=2;i<=n;i++){if(vis2[i])continue;for(ll j = i,t=1;j<=n;j*=i,t++){
sum += ans[t];
vis2[j]=1;}}printf("%lld\n",sum);}return0;}
#include <bits/stdc++.h>typedef long long ll;const ll mod = 9999999967;using namespace std;namespace fastIO { inline void input(int& res) { char c = getchar();res = 0;int f = 1; while (!isdigit(c)) { f ^= c == '-'; c = ge.