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
kannangce: 2016-07-26 20:30:45

Getting EOF when reading a line in python.. Any clue.?

tectonicfury: 2016-07-26 10:59:12

[Nice comment by "octav" which i found useful while debugging:(i feel his comment should be made sticky)]

I've read a lot of comments here that are pure nonsense.
PLEASE READ THE REQUIREMENTS CAREFULLY BEFORE POSTING DUMB S#*T!
Use these test cases to find out your issues (all can be found in the input/output sections):

a) test with following input for Time Limit Exceeded (your program should finish under 6 seconds):
1
999900000 1000000000 (- so display all primes between 999.900.000 [999 million 900 thousands] and 1.000.000.000 [one billion] )

b) check the corectness
(lower limit) - this is why I got my wrong answers (also got segfaults but that was my fault)
6
1 3
2 3
1 5
2 5
3 5
1 10

(upper limit)
1
1 200 (you can find the list of the primes between 1 and 200 online - you can even try 1000 here if you are getting wrong answers)

c) there is a source file size limit and a memory usage limit so it makes no sense to use pre-computed primes list or arrays (especially not ones that have 10000000 elements like somebody suggested...)

Hopes this helps - and next time read carefully the requirements and create the test cases yourself before writing the code (it helps for better understanding what's required of you).

PS: if you optimized your code and you are still not close enough to the target time, it means your approach is wrong and you should step back and rethink everything - stop wasting time, the algorithm should work in the given time even without optimizing.

Last edit: 2016-07-26 10:59:42
venkat73: 2016-07-23 20:14:46

How do I read input for this problem in PHP? Can anyone help?

Shidhu : 2016-07-20 20:40:45

unbelievable !!!!
Solved at 0.01s by Segmented Sieve :)

binari: 2016-07-18 23:19:42

Use segmented sieve, as said by the comments.. but documents on the net may not tell it easily, so you have to understand and implement it yourself. It took me for 2 days (about 10 hours) to understand it.

rishabh_1997: 2016-07-13 08:53:35

Very nice question, first learnt sieve, Runtime Error.
Then converted into segmented sieve, AC. :)

wolf_01: 2016-07-12 08:27:49

I used Rabin–Miller primality test for solving this question in python

Sumant Mann: 2016-07-04 12:59:25

anybody solved this question in python?

shahzin: 2016-06-29 23:51:45

Use Segmented Sieve of Eratosthenes

sriram8500: 2016-06-27 18:49:06

thangaram:: You just use sqrt or log inloops that reduces the loop iteration greatly


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 PERL 6