Cod sursa(job #40908)
#include<fstream.h>
int main(){
ifstream fin("divprim.in");
ofstream fout("divprim.out");
long long T;
fin>>T;
for (unsigned long w=0;w<T;w++){
long long N,K,i=1,a[500];
short ok=1;
long z;
fin>>N>>K;
long long M=N;
a[0]=2;
if (N%2==0)
M=N-1;
for (long long h=3;h<=M;h+=2){
ok=1;
for (z=3;z<h;z+=2)
if (h%z==0){
ok=0;
break;}
if (ok==1)
a[i++]=z; }
ok=1;
long nr=0;
long long s;
short ko=1;
for (long long y=N;y>1;y--){
ok=1;
nr=0;
for (long j=0;j<i;j++)
if (y%a[j]==0)
nr++;
if (nr==K){
ko=0;
s=y;
break;} }
if (ko==0)
fout<<s<<"\n";
else
fout<<0<<"\n";
}
fin.close();
fout.close();
return 0;
}