#include <iostream>
#include <fstream>
#define LN 1000000
using namespace std;
ifstream in("divprim.in");
ofstream out("divprim.out");
int t,k,n;
int nrdiv[LN+2];
int sol[LN+2][8];
int mx;
void preprocDiv()
{
for(int i=2;i<=LN;++i)
{
if(nrdiv[i]==0)
{
for(int j=i;j<=LN;j+=i)
nrdiv[j]++;
}
}
for(int i=1;i<=LN;++i)
{
for(int j=0;j<=7;++j)
sol[i][j]=sol[i-1][j];
sol[i][nrdiv[i-1]]=i-1;
}
}
int main()
{
preprocDiv();
/*for(int i=1;i<=LN;++i)
out<<i<<" ";
out<<"\n";
for(int i=1;i<=LN;++i)
out<<nrdiv[i]<<" ";*/
in>>t;
for(int q=1;q<=t;++q)
{
in>>n>>k;
out<<sol[n][k]<<"\n";
}
return 0;
}