PRIME1 - Prime Generator


Peter wants to generate some prime numbers for his cryptosystem. Help him! Your task is to generate all prime numbers between two given numbers!

Input

The input begins with the number t of test cases in a single line (t ≤ 10). In each of the next t lines there are two numbers m and n (1 ≤ m ≤ n ≤ 1000000000, n-m ≤ 100000) separated by a space.

Output

For every test case print all prime numbers p such that m <= p <= n, one number per line, test cases separated by an empty line.

Example

Input:
2
1 10
3 5

Output:
2
3
5
7

3
5
Warning: large Input/Output data, be careful with certain languages (though most should be OK if the algorithm is well designed)

Information

After cluster change, please consider PRINT as a more challenging problem.

hide comments
sudarshan: 2013-03-13 22:12:29

i m new here.. i think the problem can be done by using sieve erosthanes .. starting with 2, we check every prime ,and separate the composite ones, for each test case, we can check in btw.. i know it sounds obvious, but could you help me, in finding the soln..

strings: 2013-03-13 22:12:29

what is output if input is
34 36
or the likes... i print one blank line for such test cases and rest of the code runs well on ideone @1.33 sec and even on my comp...

numerix: 2013-03-13 22:12:29

@Julian Leyh: There are already 20 AC Ada solutions. You have to think about another approach ...

Julian Leyh: 2013-03-13 22:12:29

Heap for Ada seems to be too small.. I can't allocate an array of Boolean with 1000000000 elements.

Ravi Upadhyay: 2013-03-13 22:12:29

you'll have to use sieves to generate primes maybe upto sqrt(10^9) and then running the sieve again on the nos. bw. m and n using those primes you have calc. earlier.

Shraddha Jain: 2013-03-13 22:12:29

wht cn b the cause of time limit exceeded.....

Atul Jangra: 2013-03-13 22:12:29

My Code is running perfectly for case :
1
999900000 1000000000
on my machine . but when i am uploading it here , it says Time Limit Exceeded.
Plus when I try to Run it on www.ideone.com . there it gives :
result: Runtime error time: 0.24s memory: 212672 kB signal: 25 (SIGXFSZ)
Somebody help Please . I am not getting anything about what the problem is .

i am shit: 2013-03-13 22:12:29

i dont understand the problem, please help

H. Gilles: 2013-03-13 22:12:29

So ruby and eratosthenes' sieve don't work very well together

Last edit: 2011-12-17 03:23:33
Vivek: 2013-03-13 22:12:29

I ran in ideone with inputs 999900000 and 1000000000......and it ran perfectly taking only 2.36s but here if I run I'm getting time limit exceeded..........:(


Added by:Adam Dzedzej
Date:2004-05-01
Time limit:6s
Source limit:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Languages:All except: NODEJS PERL6