#include<iostream>
#include<cmath>
using namespace std;
int primes[10000000];// stores prime upto a max value
int prime[10000000];//stores prime in a given range
int main()
{
long long int t,m,n,s,k,q;
for(long long int i=1;i<=1000000;i++){
primes[i]=1;
primes[1]=0;
}
//stores prime using sieve
for(long long int i=2;i<=sqrt(1000000);i++)
{
if(primes[i]==1)
{
for(long long int j=2;i*j<=1000000;j++)
{
primes[i*j]=0;
}
}
}
cin>>t;
while(t--)
{
cin>>m>>n;
//marking all indices as 1
for(long long int i=m;i<=n;i++)
{
prime[i]=1;
}
//calculating which offset to mark
for(long long int i=2;i<=n-m+1;i++)
{
if(primes[i]==1)
{
long long int x=(m/i)*i;
while(x<m)
x=x+i;
for(long long int j=x;j<=n;j=j+i)
{
if(primes[j]==0)
prime[j]=0;
}
}
}
for(long long int i=m;i<=n;i++)
{
if(prime[i]==1&&i!=1)
cout<<i<<"\n";
}
}
return 0;
}
I2luY2x1ZGU8aW9zdHJlYW0+CiNpbmNsdWRlPGNtYXRoPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwppbnQgcHJpbWVzWzEwMDAwMDAwXTsvLyBzdG9yZXMgcHJpbWUgdXB0byBhIG1heCB2YWx1ZQppbnQgcHJpbWVbMTAwMDAwMDBdOy8vc3RvcmVzIHByaW1lIGluIGEgZ2l2ZW4gcmFuZ2UKaW50IG1haW4oKQp7CiAgbG9uZyBsb25nIGludCB0LG0sbixzLGsscTsKICBmb3IobG9uZyBsb25nIGludCBpPTE7aTw9MTAwMDAwMDtpKyspewogICAgICBwcmltZXNbaV09MTsKICAgICAgcHJpbWVzWzFdPTA7CiAgfQoKICAgIC8vc3RvcmVzIHByaW1lIHVzaW5nIHNpZXZlICAgIAogICAgZm9yKGxvbmcgbG9uZyBpbnQgaT0yO2k8PXNxcnQoMTAwMDAwMCk7aSsrKSAKICAgIHsKICAgICAgICBpZihwcmltZXNbaV09PTEpCiAgICAgICAgewogICAgICAgICAgICBmb3IobG9uZyBsb25nIGludCBqPTI7aSpqPD0xMDAwMDAwO2orKykKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgcHJpbWVzW2kqal09MDsKICAgICAgICAgICAgfQogICAgICAgIH0gICAKICAgIH0KICAgIGNpbj4+dDsKICAgIHdoaWxlKHQtLSkKICAgIHsKICAgICAgICBjaW4+Pm0+Pm47CiAgICAgICAgLy9tYXJraW5nIGFsbCBpbmRpY2VzIGFzIDEgCiAgICAgICAgZm9yKGxvbmcgbG9uZyBpbnQgaT1tO2k8PW47aSsrKSAgICAgIAogICAgICAgIHsKICAgICAgICAgIHByaW1lW2ldPTE7CiAgICAgICAgfQogICAgICAgIC8vY2FsY3VsYXRpbmcgd2hpY2ggb2Zmc2V0IHRvIG1hcmsKICAgICAgICBmb3IobG9uZyBsb25nIGludCBpPTI7aTw9bi1tKzE7aSsrKSAgICAgICAKICAgICAgICB7CiAgICAgICAgICAgIGlmKHByaW1lc1tpXT09MSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgbG9uZyBsb25nIGludCB4PShtL2kpKmk7CiAgICAgICAgICAgICAgICB3aGlsZSh4PG0pCiAgICAgICAgICAgICAgICB4PXgraTsgICAKICAgICAgICAgICAgICAgIGZvcihsb25nIGxvbmcgaW50IGo9eDtqPD1uO2o9aitpKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIGlmKHByaW1lc1tqXT09MCkKICAgICAgICAgICAgICAgICAgICBwcmltZVtqXT0wOwogICAgICAgICAgICAgICB9ICAKICAgICAgICAgICAgIH0KICAgICAgICAgICB9ICAgICAgICAgCiAgICAgICAgZm9yKGxvbmcgbG9uZyBpbnQgaT1tO2k8PW47aSsrKQogICAgICAgIHsKICAgICAgICAgICAgaWYocHJpbWVbaV09PTEmJmkhPTEpCiAgICAgICAgICAgIGNvdXQ8PGk8PCJcbiI7CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIDA7Cn0=