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
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..........:(

Miguel Saiz: 2013-03-13 22:12:29

@Radnus Mayhs
I believe it doesn't test with that data. SPOJ tests with a much larger sample which may then exceed the time limit, even if it doesn't in your computer. I may be wrong though.

Hasib Al Muhaimin: 2013-03-13 22:12:29

I have faced the <b>run time error</b> with C :(

Radnus Mayhs: 2013-03-13 22:12:29

when i compiled this program on my pc the execution time was 5secs which is less than time limit for this problem...but spoj produces the error "time limit exceeded " can anyone help?


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