#include<iostream>
using namespace std;
#define MAX 100000
#define MAX1 100000
bool arr[MAX];
int prime[MAX1];
long long int j;
void markmult(long long int k)
{
long long int i=2*k;
while(i<MAX)
{
arr[i]=true;
i+=k;
}
}
void sieve()
{
long long int i;
markmult(2);
prime[j++]=2;
i=3;
while(i<MAX)
{
if(arr[i]==false)
{
prime[j++]=i;
markmult(i);
}
i+=2;
}
}
int main()
{
long long int t,n,m,i;
cin>>t;
sieve();
while(t--)
{
cin>>m>>n;
for(i=0;i<j && prime[i]<=n;i++)
{
if(prime[i]>=m)
cout<<prime[i]<<"\n";
}
cout<<"\n";
}
return 0;
}
I2luY2x1ZGU8aW9zdHJlYW0+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgTUFYIDEwMDAwMAojZGVmaW5lIE1BWDEgMTAwMDAwCmJvb2wgYXJyW01BWF07CmludCBwcmltZVtNQVgxXTsKbG9uZyBsb25nIGludCBqOwp2b2lkIG1hcmttdWx0KGxvbmcgbG9uZyBpbnQgaykKewogICAgbG9uZyBsb25nIGludCBpPTIqazsKICAgIHdoaWxlKGk8TUFYKQogICAgewogICAgICAgIGFycltpXT10cnVlOwogICAgICAgIGkrPWs7CiAgICB9Cn0Kdm9pZCBzaWV2ZSgpCnsKICAgbG9uZyBsb25nICBpbnQgaTsKICAgIG1hcmttdWx0KDIpOwogICAgcHJpbWVbaisrXT0yOwogICAgaT0zOwogICAgd2hpbGUoaTxNQVgpCiAgICB7CiAgICAgICAgaWYoYXJyW2ldPT1mYWxzZSkKICAgICAgICB7CiAgICAgICAgICAgIHByaW1lW2orK109aTsKICAgICAgICAgICAgbWFya211bHQoaSk7CiAgICAgICAgfQogICAgICAgIGkrPTI7CiAgICB9CiAKfQppbnQgbWFpbigpCnsKICAgbG9uZyBsb25nIGludCB0LG4sbSxpOwogICAgY2luPj50OwogICAgc2lldmUoKTsKICAgIHdoaWxlKHQtLSkKICAgIHsKICAgICAgICBjaW4+Pm0+Pm47CiAgICAgICAgZm9yKGk9MDtpPGogJiYgcHJpbWVbaV08PW47aSsrKQogICAgICAgIHsKICAgICAgICAJaWYocHJpbWVbaV0+PW0pCiAgICAgICAgCQkgIGNvdXQ8PHByaW1lW2ldPDwiXG4iOwogICAgICAgIH0KICAgICAgICBjb3V0PDwiXG4iOwogICAgfQogICAgcmV0dXJuIDA7Cn0=