#include <fstream>
using namespace std;
ifstream in("divprim.in");
ofstream out("divprim.out");
int ciur[1000001];
int a[8][400000],cnt[8];
int main()
{
int n,t,i,j,k;
for(i=2; i<=1000000; i++)
if(ciur[i]==0)
{
ciur[i]=1;
for(j=2*i; j<=1000000; j+=i)
ciur[j]++;
}
for(i=1; i<=1000000; i++)
{
cnt[ciur[i]]++;
a[ciur[i]][cnt[ciur[i]]]=i;
}
int st,dr,m,pp;
in>>t;
for(i=1; i<=t; i++)
{
in>>n>>k;
st=1;
dr=cnt[k];
pp=-1;
while(st<=dr&&pp==-1)
{
m=(st+dr)/2;
if(n==a[k][m])
pp=n;
else
{
if(n<a[k][m])
dr=m-1;
else st=m+1;
}
}
if(pp==-1)
pp=a[k][dr];
out<<pp<<'\n';
}
return 0;
}