#include <iostream>
using namespace std;
//ham tinh can bac 2
unsigned long my_sprt(unsigned long x)
{
unsigned long xn, xprev;
xn = x/2;
xprev = 0;
while(xn !=xprev)
{
xprev = xn;
xn = (xn + x/xprev)/2;
}
return xn;
}
//ham check xem so do co phai so nguyen to khong
bool check_prime(int x)
{
if(x == 1 || x == 2)
return true;
for(int ii = 2; ii<x; ii++)
{
if((x % ii) == 0)
return false;
}
return true;
}
bool check_prime1(unsigned long x)
{
if(x == 1 || x == 2 || x == 3)
return true;
if(((x+1) % 6 == 0) || ((x - 1) % 6 == 0))
{
for(int ii = 2; ii <= my_sprt(x); ii++)
{
if((x % ii) == 0)
return false;
}
return true;
}
return false;
}
int main(int argc, char** argv)
{
int T, test_case;
unsigned long n, m;
// freopen("input.txt", "r", stdin);
cin >> T;
for(test_case = 0; test_case < T; test_case++)
{
cin >> n >> m;
for(int j = n; j<=m; j++)
{
if(check_prime1(j))
cout << j << endl;
}
// Print the answer to standard output(screen).
//cout << "Case #" << test_case+1 << endl;
cout << endl;
}
return 0;//Your program should return 0 on normal termination.
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCi8vaGFtIHRpbmggY2FuIGJhYyAyCnVuc2lnbmVkIGxvbmcgbXlfc3BydCh1bnNpZ25lZCBsb25nIHgpCnsKCXVuc2lnbmVkIGxvbmcgeG4sIHhwcmV2OwoJeG4gPSB4LzI7Cgl4cHJldiA9IDA7Cgl3aGlsZSh4biAhPXhwcmV2KQoJewoJCXhwcmV2ID0geG47CgkJeG4gPSAoeG4gKyB4L3hwcmV2KS8yOwoJfQoJcmV0dXJuIHhuOwp9Ci8vaGFtIGNoZWNrIHhlbSBzbyBkbyBjbyBwaGFpIHNvIG5ndXllbiB0byBraG9uZwpib29sIGNoZWNrX3ByaW1lKGludCB4KQp7CglpZih4ID09IDEgfHwgeCA9PSAyKQoJCXJldHVybiB0cnVlOwoJZm9yKGludCBpaSA9IDI7IGlpPHg7IGlpKyspCgl7CgkJaWYoKHggJSBpaSkgPT0gMCkKCQkJcmV0dXJuIGZhbHNlOwoJfQoJcmV0dXJuIHRydWU7Cn0KCmJvb2wgY2hlY2tfcHJpbWUxKHVuc2lnbmVkIGxvbmcgeCkKewoJaWYoeCA9PSAxIHx8IHggPT0gMiB8fCB4ID09IDMpCgkJcmV0dXJuIHRydWU7CglpZigoKHgrMSkgJSA2ID09IDApIHx8ICgoeCAtIDEpICUgNiA9PSAwKSkKCXsKCQlmb3IoaW50IGlpID0gMjsgaWkgPD0gbXlfc3BydCh4KTsgaWkrKykKCQl7CgkJCWlmKCh4ICUgaWkpID09IDApCgkJCQlyZXR1cm4gZmFsc2U7IAoJCX0KCQlyZXR1cm4gdHJ1ZTsKCX0KCXJldHVybiBmYWxzZTsKfQoKaW50IG1haW4oaW50IGFyZ2MsIGNoYXIqKiBhcmd2KQp7CglpbnQgVCwgdGVzdF9jYXNlOwoJdW5zaWduZWQgbG9uZyBuLCBtOwovLwlmcmVvcGVuKCJpbnB1dC50eHQiLCAiciIsIHN0ZGluKTsKCgljaW4gPj4gVDsKCWZvcih0ZXN0X2Nhc2UgPSAwOyB0ZXN0X2Nhc2UgIDwgVDsgdGVzdF9jYXNlKyspCgl7CgkJY2luID4+IG4gPj4gbTsKCQlmb3IoaW50IGogPSBuOyBqPD1tOyBqKyspCgkJewoJCQlpZihjaGVja19wcmltZTEoaikpCgkJCQljb3V0IDw8IGogPDwgZW5kbDsKCQl9CgkJLy8gUHJpbnQgdGhlIGFuc3dlciB0byBzdGFuZGFyZCBvdXRwdXQoc2NyZWVuKS4KCQkvL2NvdXQgPDwgIkNhc2UgIyIgPDwgdGVzdF9jYXNlKzEgPDwgZW5kbDsKCQljb3V0IDw8IGVuZGw7Cgl9CgoJcmV0dXJuIDA7Ly9Zb3VyIHByb2dyYW0gc2hvdWxkIHJldHVybiAwIG9uIG5vcm1hbCB0ZXJtaW5hdGlvbi4KfQo=