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
sriram8500: 2016-06-27 18:49:06

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

thangaram: 2016-06-27 15:07:47

it shows TIME LIMIT EXCEEDED even though it runs at less than 6s in ideone.com for larger intervals.

joist: 2016-06-26 05:07:58

ain't time limit too long for such a short algorithm? i think for most computers it should work within fraction of seconds.

mycode_123: 2016-06-23 13:41:35

use segmented sieve,,,,and u wil AC it!!!

octav: 2016-06-19 15:19:33

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-06-19 15:26:06
ishaandhamija: 2016-06-19 14:15:55

Segmentation Fault .... even after declaring an array of 10000000 indexes .... Why ??

dronaa: 2016-06-18 18:48:58

can someone explain this program to me???

poojaha: 2016-06-18 09:05:10

My code is working good oni deaone as well as loacally even though its giving wrong answer ?

ab_bh: 2016-06-18 06:48:48

using sieve and still nzec

zimspoj: 2016-06-17 22:06:40

using devc++ ide on which compilation time is coming around 1.40s then also on submission showing TIME LIMIT EXCEEDED error


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