#include<stdio.h>
#include<math.h>
int prime(int a)
{
int i;
if(a==0||a==1)
return 0;
else
{
for(i=2;i<=sqrt(a);i++)
if(a%i==0)
break;
if(i<=sqrt(a))
return 0;
else
return 1;
}
}
int yz(int a)
{
int i,sum;
sum=0;
for(i=1;i<sqrt(a);i++)1407231800-hd-反素数.cpp
if(a%i==0)
sum+=2;
if(sqrt(a)-(int)sqrt(a)==0)
sum++;
return sum;
}
int main()
{
int n,a,b;
int i,j,k;
int str[5500];
scanf("%d",&n);
while(n--)
{
scanf("%d%d",&a,&b);
for(i=a;i<=b;i++)
{
if(i==1||i==0)
str[i]=1;
else if(prime(i))
str[i]=2;
else
str[i]=yz(i);
}
j=0;
k=0;
for(i=a;i<=b;i++)
if(j<str[i])
{
j=str[i];
k=i;
}
printf("%d\n",k);
}
return 0;
}
#include<math.h>
int prime(int a)
{
int i;
if(a==0||a==1)
return 0;
else
{
for(i=2;i<=sqrt(a);i++)
if(a%i==0)
break;
if(i<=sqrt(a))
return 0;
else
return 1;
}
}
int yz(int a)
{
int i,sum;
sum=0;
for(i=1;i<sqrt(a);i++)1407231800-hd-反素数.cpp
if(a%i==0)
sum+=2;
if(sqrt(a)-(int)sqrt(a)==0)
sum++;
return sum;
}
int main()
{
int n,a,b;
int i,j,k;
int str[5500];
scanf("%d",&n);
while(n--)
{
scanf("%d%d",&a,&b);
for(i=a;i<=b;i++)
{
if(i==1||i==0)
str[i]=1;
else if(prime(i))
str[i]=2;
else
str[i]=yz(i);
}
j=0;
k=0;
for(i=a;i<=b;i++)
if(j<str[i])
{
j=str[i];
k=i;
}
printf("%d\n",k);
}
return 0;
}