#include <bits/stdc++.h>
using namespace std;
void simpleSieve(int lmt, vector<int>& prime) {
bool mark[lmt + 1];
memset(mark, false, sizeof(mark));
for (int i = 2; i <= lmt; ++i) {
if (mark[i] == false) {
prime.push_back(i);
for (int j = i; j <= lmt; j += i)
mark[j] = true;
}
}
}
void PrimeInRange(int low, int high) {
int lmt = floor(sqrt(high)) + 1;
vector<int> prime;
simpleSieve(lmt, prime);
int n = high - low + 1;
bool mark[n + 1];
memset(mark, false, sizeof(mark));
for (int i = 0; i < prime.size(); i++) {
int lowLim = floor(low / prime[i]) * prime[i];
if (lowLim < low)
lowLim += prime[i];
for (int j = lowLim; j <= high; j += prime[i])
mark[j - low] = true;
}
for (int i = low; i <= high; i++)
if (!mark[i - low])
cout << i << "\n";
}
int main() {
int t;cin>>t;
while(t--){
int m,n;cin>>m>>n;
PrimeInRange(m,n);
}
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnZvaWQgc2ltcGxlU2lldmUoaW50IGxtdCwgdmVjdG9yPGludD4mIHByaW1lKSB7CiAgIGJvb2wgbWFya1tsbXQgKyAxXTsKICAgbWVtc2V0KG1hcmssIGZhbHNlLCBzaXplb2YobWFyaykpOwogICBmb3IgKGludCBpID0gMjsgaSA8PSBsbXQ7ICsraSkgewogICAgICBpZiAobWFya1tpXSA9PSBmYWxzZSkgewogICAgICAgICBwcmltZS5wdXNoX2JhY2soaSk7CiAgICAgICAgIGZvciAoaW50IGogPSBpOyBqIDw9IGxtdDsgaiArPSBpKQogICAgICAgICAgICBtYXJrW2pdID0gdHJ1ZTsKICAgICAgfQogICB9Cn0Kdm9pZCBQcmltZUluUmFuZ2UoaW50IGxvdywgaW50IGhpZ2gpIHsKICAgaW50IGxtdCA9IGZsb29yKHNxcnQoaGlnaCkpICsgMTsKICAgdmVjdG9yPGludD4gcHJpbWU7CiAgIHNpbXBsZVNpZXZlKGxtdCwgcHJpbWUpOwogICBpbnQgbiA9IGhpZ2ggLSBsb3cgKyAxOwogICBib29sIG1hcmtbbiArIDFdOwogICBtZW1zZXQobWFyaywgZmFsc2UsIHNpemVvZihtYXJrKSk7CiAgIGZvciAoaW50IGkgPSAwOyBpIDwgcHJpbWUuc2l6ZSgpOyBpKyspIHsKICAgICAgaW50IGxvd0xpbSA9IGZsb29yKGxvdyAvIHByaW1lW2ldKSAqIHByaW1lW2ldOwogICAgICBpZiAobG93TGltIDwgbG93KQogICAgICAgICBsb3dMaW0gKz0gcHJpbWVbaV07CiAgICAgIGZvciAoaW50IGogPSBsb3dMaW07IGogPD0gaGlnaDsgaiArPSBwcmltZVtpXSkKICAgICAgICAgbWFya1tqIC0gbG93XSA9IHRydWU7CiAgIH0KICAgZm9yIChpbnQgaSA9IGxvdzsgaSA8PSBoaWdoOyBpKyspCiAgICAgIGlmICghbWFya1tpIC0gbG93XSkKICAgICAgICAgY291dCA8PCBpIDw8ICJcbiI7Cn0KaW50IG1haW4oKSB7CiAgIGludCB0O2Npbj4+dDsKICAgd2hpbGUodC0tKXsKICAgaW50IG0sbjtjaW4+Pm0+Pm47CglQcmltZUluUmFuZ2UobSxuKTsKICAgfQp9Cg==