from math import* from bisect import* t=int(input()) N=100000 spf=[0]*(N+1) prime=[] for m in range(2,N+1): if spf[m]<1:spf[m]=m;prime+=[m] for p in prime: if p>spf[m] or p*m>N:break spf[p*m]=p for _ in range(t): n,k=map(int,input().split()) ans=-1 i=bisect_left(prime,isqrt(n)) a=prime[i] b=n//a if(k